为什么计算机的1+10的20次方-10的20次方不等于10的20次方-10的20次方+1?

 我来答
帐号已注销
2022-10-28 · TA获得超过263个赞
知道小有建树答主
回答量:511
采纳率:33%
帮助的人:23.4万
展开全部

在大部分计算机系统中,默认的整数类型上限为 2^31-1 = 2147483647,也就是四字节整数。

10^20、1+10^20 都超出了四字节整数的范围,其值为0。因此:

对于 1+10^20-10^20 = (1+10^20)-10^20 = 0-0 = 0;

对于 10^20-10^20+1 = 0-0+1 = 1。

而如果定义为八字节整数,它的上限为 2^63-1 = 9223372036854775807

下面是fortran代码和运行结果:


推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式