Py小郑 2022-01-29 20:17 采纳率: 96.6%
浏览 237
已结题

Python关于乘法和加法

>>> 1000000000*1000000000000/2
5e+20
>>> int(1000000000*1000000000000/2)
500000000000000000000
>>> 

这是为何?加个int就变成那样了,不加就用科学计数法表?为啥(问题一)

>>> 1000000000*1000000000000/2==int(1000000000*1000000000000/2)
True#说明这两个相等
>>> 1000000000*1000000000000/2+2==1000000000*1000000000000/2
True#为什么不为False?不是左边加2了吗?
>>> int(1000000000*1000000000000/2)+2==int(1000000000*1000000000000/2)
False


恳请指导!谢谢

  • 写回答

1条回答 默认 最新

  • 小小素xxs 2022-01-29 21:04
    关注

    int()函数是将数据转化为十进制整数,而一般情况下,python会将数据自动显示为科学计数法的模式。对于图二第4行,由于使用科学计数法,对于数据过大的时候,较小的数据会被忽略,所以为真.而使用int函数后,采用是十进制计数法,此时再小的数据也不能忽略,结果为假。

    img

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

问题事件

  • 请详细说明问题背景 3月1日
  • 系统已结题 2月6日
  • 已采纳回答 1月29日
  • 创建了问题 1月29日