模与浮点数

2024-04-30 06:13:57 发布

您现在位置:Python中文网/ 问答频道 /正文

如何解释模数是通过说出“a”可以达到“b”的多少次,而不是通过乘法,只是通过相加

如果我们要从1.3中求出20的模,它将加起来1.3 + 1.3 +...+ 1.3 = 19.5,其中20-19.5将是0.5

但如果我们使用大家用模解释的公式,即除以和乘以,然后得到余数,我们就不会得到一个精确的数字,例如:

6%2 = 07%2 = 1因为6/2 = 3次和3*2 = 6,这就是为什么答案是0和1,但是如果我们使用20 % 1.3这将是20/1.3 = 15.38461515.384次乘以1.315.384615385 * 1.3 = 20,因此这个公式是不正确的,并且显示了无法用浮点数表示模的运算方式,而是通过将^}相加然后不通过20,它将给出1.3添加的15次=19.520 - 19.5 = 0.5因此我们有一个精确的余数

我想知道这种方法是否正确,Python如何解释模数


Tags: 方法答案方式数字公式浮点数乘法模数
1条回答
网友
1楼 · 发布于 2024-04-30 06:13:57

20 % 1.3 this will be 20/1.3 = 15,384615 and 15,384 times multiplied by 1,3 is 15,384615385 * 1,3 = 20 therefore this formula is not true…

I wanted to know if this approach is correct

你的计算不完整;因此结论是错误的

你必须取整数部分,即。E15乘以1.3,得到19.5,然后从20中减去。这将产生预期的0.5

有关Python的实现,请参见^{}。它使用^{}进行计算。输出表示由^{}生成,它调用^{}
我们使用C表达式printf("%.17g\n", fmod(20, 1.3))得到相同的输出

浮点计算结果有时是不精确的,这并不奇怪

相关问题 更多 >