如果C中a%b == 0,floor(a /(double)b)* b == a?

贫穷的开发者

想知道下面的断言是否正确,如果a和b都是大于0的整数。在这种情况下浮点数精度会引起问题吗?

assert(a%b || floor(a/(double)b)*b==a);
帕斯卡·库克(Pascal Cuoq)

如果条件的第一部分为假,a则为的倍数b

到转换double的整数的通常是精确(如果double是IEEE 754的binary64,它是确切为整数高达2 53)。假设这些条件下,a/(double)bdouble最靠近的实数除法ab由于实际结果是小于2 53的整数,因此它可以精确表示,因此不会进行舍入(换句话说,浮点除法是精确的)。

floor()应用于double代表整数的,将返回相同的整数。

出于与除法相同的原因,浮点乘法是精确的,并且精确地产生a

结论:assert对于-2 53和2 53之间a以及b介于-2 53和2 53之间的条件,对于实现double为binary64的平台,无论是否具有过高的精度,该条件始终是正确的

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如果C中a%b == 0,floor(a /(double)b)* b == a?

来自分类Dev

a / b,但如果b == 0,则返回0

来自分类Dev

a / b,但如果b == 0,则返回0

来自分类Dev

如果double a = 0.0,我可以直接比较a * b == 0吗?

来自分类Dev

什么是等价的 0* |a* |b* |(a|b)*

来自分类Dev

“ B(int b = 0):b(b){}”是什么意思?

来自分类Dev

a-plus-abs-b:无效的函数:(如果(> b 0)+-)

来自分类Dev

Xpath-如果B为0,则选择A,否则选择B

来自分类Dev

在Coq中a + b = 0-> a = 0和b = 0

来自分类Dev

Python a,b = b,a + b

来自分类Dev

(* b)[0]与* b [0]-数组和指针

来自分类Dev

c++ 中的“int a, b =0”和“int a =0; int b = 0”有什么区别?

来自分类Dev

可以优化b && 0

来自分类Dev

发现在阵列中的三联体(A,B,C),使得A + B + C = 0

来自分类Dev

C ++中的B样条

来自分类Dev

如何从 ('a', 'b', 'c') 得到 ('a', 'a/b', 'a/b/c')?

来自分类Dev

&& 和 ; 链接命令:C是否在A && B中执行;C如果B返回非零退出状态?

来自分类Dev

如果 b 和 c 是 python 中的数组/数据帧,是否可以使用 `a = b 或 c` 构造?

来自分类Dev

证明A == B,B == C,A!= C

来自分类Dev

如果 A 在 B 中匹配,则将与 B 相关的值添加到 C

来自分类Dev

红宝石a = b || 如果b未定义,则为c

来自分类Dev

“ a <= b && b <= a && a!= b”如何成立?

来自分类Dev

差异:A * a = new A(); 与A b; * c =&b;

来自分类Dev

差异:A * a = new A(); 与A b; * c =&b;

来自分类Dev

熊猫:新专栏;如果 A、B、C 列等于 0,则列等于 0。否则为 1

来自分类Dev

如何使用 jq 将 {a:b,c:[0,1]} 映射到 [{c:c[0],a:b},{c:c[1],a:b}]?

来自分类Dev

在python中[[[a,a,a]','[b,b,b]']和[[a,a,a],[b,b,b]]有什么区别?

来自分类Dev

如果返回a =返回b,那么a = b吗?

来自分类Dev

如果a> = b,那么O(a + b)= O(a)?

Related 相关文章

  1. 1

    如果C中a%b == 0,floor(a /(double)b)* b == a?

  2. 2

    a / b,但如果b == 0,则返回0

  3. 3

    a / b,但如果b == 0,则返回0

  4. 4

    如果double a = 0.0,我可以直接比较a * b == 0吗?

  5. 5

    什么是等价的 0* |a* |b* |(a|b)*

  6. 6

    “ B(int b = 0):b(b){}”是什么意思?

  7. 7

    a-plus-abs-b:无效的函数:(如果(> b 0)+-)

  8. 8

    Xpath-如果B为0,则选择A,否则选择B

  9. 9

    在Coq中a + b = 0-> a = 0和b = 0

  10. 10

    Python a,b = b,a + b

  11. 11

    (* b)[0]与* b [0]-数组和指针

  12. 12

    c++ 中的“int a, b =0”和“int a =0; int b = 0”有什么区别?

  13. 13

    可以优化b && 0

  14. 14

    发现在阵列中的三联体(A,B,C),使得A + B + C = 0

  15. 15

    C ++中的B样条

  16. 16

    如何从 ('a', 'b', 'c') 得到 ('a', 'a/b', 'a/b/c')?

  17. 17

    && 和 ; 链接命令:C是否在A && B中执行;C如果B返回非零退出状态?

  18. 18

    如果 b 和 c 是 python 中的数组/数据帧,是否可以使用 `a = b 或 c` 构造?

  19. 19

    证明A == B,B == C,A!= C

  20. 20

    如果 A 在 B 中匹配,则将与 B 相关的值添加到 C

  21. 21

    红宝石a = b || 如果b未定义,则为c

  22. 22

    “ a <= b && b <= a && a!= b”如何成立?

  23. 23

    差异:A * a = new A(); 与A b; * c =&b;

  24. 24

    差异:A * a = new A(); 与A b; * c =&b;

  25. 25

    熊猫:新专栏;如果 A、B、C 列等于 0,则列等于 0。否则为 1

  26. 26

    如何使用 jq 将 {a:b,c:[0,1]} 映射到 [{c:c[0],a:b},{c:c[1],a:b}]?

  27. 27

    在python中[[[a,a,a]','[b,b,b]']和[[a,a,a],[b,b,b]]有什么区别?

  28. 28

    如果返回a =返回b,那么a = b吗?

  29. 29

    如果a> = b,那么O(a + b)= O(a)?

热门标签

归档