苹果挨炮 2021-06-02 11:24 采纳率: 0%
浏览 563

为什么对1e9+7和对1000000007取模得到的值不一样

 

  • 写回答

3条回答 默认 最新

  • CSDN专家-AlanMax 2021-06-02 11:54
    关注

    看第一行输出和第二行输出的结果,一个带小数点一个不带。带小数点的浮点数在cpu中计算64位编码和整数64位编码是不一样的。可以参考浮点数的IEEE 754标准。为了保证浮点数有更广的取值范围,是需要牺牲精度来换取值范围的。不然64位最多只能取到2的64次方-1的正数,再多就无法表示了。但是使用浮点数,打个比方。4位表示数值,60位用来表示进位,那最多可以表示2的4次方*2的60次方,这样范围就大了。如有帮助请采纳

    评论

报告相同问题?