如何在系统中存储超过32位的数据类型?
例如,考虑一个unsigned int或long,它的值大于2到32的幂,它是如何存储在内存中的?
答案 0 :(得分:0)
任何操作系统或编译器都将使用它所需的位数。因此,如果操作系统或语言需要64位整数,它只会将这些整数存储为8字节的表示。
对于整数和浮点数,有一些标准。有关更多信息,请参阅维基百科上的这篇文章:http://en.wikipedia.org/wiki/Computer_numbering_formats
答案 1 :(得分:0)
32位架构中的32位与CPU寄存器的位数相比较宽(有一些例外,例如浮点寄存器)。这并不意味着系统无法处理大于此的数据类型,只是它必须一次处理这些数据类型为32位。
例如,机器有一个“Add With Carry”指令,允许机器将多个加法链接在一起,这样可以在16个步骤(512/32)中添加任意大小的数字,比如说两个512位数字