Operating system 为什么计算器和excel在32位系统中显示的值大于2^31-1?

Operating system 为什么计算器和excel在32位系统中显示的值大于2^31-1?,operating-system,cpu,Operating System,Cpu,我学过一些c/c++课程,我知道int类型的大小受CPU体系结构的限制 对于32位,int的最大值是2^32(4294967295),但当我使用计算器或excel时,我得到的是一个巨大的数字,大于2^32 我真的不明白这个程序是如何打印出大于2^23的值的。在32位系统中,您仍然可以使用大于32位的值。事实上,有一些BIGINT库(比如)允许您使用任意大的整数。这些大量数据只需在软件中处理,而不是在硬件中处理 [x86特定示例]当简单的32位加法使用添加两个32位寄存器的add指令时,64位或B

我学过一些c/c++课程,我知道int类型的大小受CPU体系结构的限制

对于32位,int的最大值是
2^32
4294967295
),但当我使用计算器或excel时,我得到的是一个巨大的数字,大于
2^32


我真的不明白这个程序是如何打印出大于2^23的值的。在32位系统中,您仍然可以使用大于32位的值。事实上,有一些BIGINT库(比如)允许您使用任意大的整数。这些大量数据只需在软件中处理,而不是在硬件中处理

[x86特定示例]当简单的32位加法使用添加两个32位寄存器的
add
指令时,64位或BIGINT加法要求每次添加32位数字,手动将进位从一个加法传播到下一个加法

另见:


它们使用更大的数据类型,如浮点或bignums。许多体系结构支持adc指令来实现这一目的。