草庐IT

试除法

全部标签

swift - 如何在 Swift 中用 Int 对 Double 进行简单的除法?

查看有关此主题的各种帖子,但仍然没有运气。将Double(或Float)除以Int时,是否有简单的除法/转换方法?这是Playground返回和错误“DoubleisnotconvertibletoUInt8”的一个简单示例。varscore:Double=3.00varlength:Int=2//itistakenfromsomeanarraylenghtanddoesnotreturndecimalorfloatvarresult:Double=(score/length) 最佳答案 使用varresult:Double=(sc

java - 为什么 Java 中短整数除法的结果类型不是短整数?

考虑这段代码:publicclassShortDivision{publicstaticvoidmain(String[]args){shorti=2;shortj=1;shortk=i/j;}}编译产生错误ShortDivision.java:5:possiblelossofprecisionfound:intrequired:shortshortk=i/j;因为表达式i/j的类型显然是int,因此必须转换为short。为什么i/j的类型不是short? 最佳答案 来自Javaspec:5.6.2BinaryNumericProm

java - 第一个数小于第二个数时的模数除法

如果这是一个简单的问题,我深表歉意,但当第一个数字小于第二个数字时,我无法理解模数除法的概念。例如,当1%4我的书上说余数是1。我不明白1是1%4的余数。1/4是0.25。我是否错误地考虑了模数除法? 最佳答案 首先,在Java中,%是余数(不是模数)运算符,它的语义略有不同。也就是说,您需要考虑仅整数除法,就好像没有小数值一样。将其视为存储不可分割的项目:您可以将零个大小为4的项目存储在总容量为1的存储中。存储最大数量的项目后,您的剩余容量为1。类似地,13%5是3,因为您可以在大小为13的存储中放入2个大小为5的完整项目,剩余容

Java,BigDecimal。除法问题

我正在尝试计算百分比“因子”。也就是说,给定20%,将其转换为0.2(我的目的是稍后将值乘以该值并得到20%的值)。无论如何,这个问题与这段代码有关:publicstaticvoidmain(String[]args){introundingMode=BigDecimal.ROUND_FLOOR;BigDecimalhundred=newBigDecimal("100");BigDecimalpercentageFactor=null;BigDecimalpercentage=newBigDecimal("20");BigDecimalvalue=newBigDecimal("500"

java - Java 中的简单除法 - 这是错误还是功能?

我正在Java应用程序中尝试这个简单的计算:System.out.println("b="+(1-7/10));显然我希望输出为b=0.3,但实际上我得到的是b=1。什么?!为什么会这样?如果我写:System.out.println("b="+(1-0.7));我得到了正确的结果,即b=0.3。这里出了什么问题? 最佳答案 您正在使用整数除法。改用7.0/10。 关于java-Java中的简单除法-这是错误还是功能?,我们在StackOverflow上找到一个类似的问题:

java - 为什么在 BER 编解码器中使用 Math.floor() 而不是整数除法

我正在查看可以在location上看到的SNMPBEECodec特别是我正在查看函数encodeLength()我感兴趣的片段intnumBytes=0;inttemp=length;while(temp>0){++numBytes;temp=(int)Math.floor(temp/256);}(来自DrexelSNMPlibrary)。我想知道为什么使用Math.floor()而不是像temp/256这样的简单整数除法。似乎简单的整数除法会给出相同的结果。还是有技术差异? 最佳答案 回答您问题的技术部分:使用math.floor

python - Python中带有负操作数的整数除法和模运算

当我在Python3.3.0中输入这些表达式时出现问题-10//3#-4-10%3#210//-3#-410%-3#-2-10//-3#3它似乎采用近似float(-3.33)?并在整数除法中向下舍入,但在模运算中它做了完全不同的事情。它似乎返回余数+/-1,并且只根据负操作数的位置切换符号。即使在查看了本网站上的其他答案之后,我也感到非常困惑!我希望有人也能清楚地解释这一点!这本书说提示:回想一下这个神奇的公式a=(a//b)(b)+(a%b)但这似乎并没有为我清除水。-提前致谢!编辑:这些只是我对发生的事情的个人评估(以上),我知道,我完全不同意! 最佳

python - Python 中的整数除法

我对python中的以下整数数学感到困惑:-7/3=-3自(-3)*3=-9.我明白了。7/-3=-3我不明白这是怎么定义的。(-3)*(-3)=9>7.在我看来,它应该是-2,因为(-3)*(-2)=6.这是如何工作的? 最佳答案 来自documentation:For(plainorlong)integerdivision,theresultisaninteger.Theresultisalwaysroundedtowardsminusinfinity:1/2is0,(-1)/2is-1,1/(-2)is-1,and(-1)/(

python - 为什么我在对整数进行乘法和除法时会失去精度?

我原以为Python3应该能够处理任意长度的数字,但我遇到了一个问题,即它们的行为似乎并不一致。乘除之后,我的int似乎改变了它的内部表示,并且不再评估为它以前的self匹配。我使用的是整数,没有任何小数或分数,但它的表现几乎就像是因为四舍五入而失去了精度......?我很感激任何关于为什么会发生这种情况的见解,如果有什么我应该做不同的事情。我的代码有变通办法,但由于结果违反直觉,我很想知道行为背后的原因;)Python3.3.2(default,Jul302013,00:52:04)[GCC4.2.1CompatibleAppleLLVM4.2(clang-425.0.28)]ond

python - Django F() 除法​​ - 如何避免四舍五入

我有这个代码:q=MyModel.objects.order_by('-value1').annotate(res=ExpressionWrapper((F('value1')/F('value2')),output_field=FloatField()),)foriinq:print(i.value1,i.value2,i.res)因此,输出将是:5100.0120.0但是我需要5100.5120.5WyF()四舍五入结果?如何不这样做?谢谢! 最佳答案 只需利用F()对乘法的支持即可将一个因数转换为十进制数。组合表达式看起来像: