2010-08-14 65 views
3

我是一个相当新的程序员,我想知道是否有人可以给我一个实际的解释/例子,介绍使用带符号,无符号和32位之间的差异和用法vs 64位?32位无符号,有符号,64位差异的实际例子

即我读了一篇关于Twitter如何让开发人员去年转向64位的文章,但我不确定推理和它的具体性质。

谢谢!

回答

2

对于n位,可以用这些位表示2^n个不同的数字。因此,32位无符号数字从0到4,294,967,295(2^32-1,-1是因为0是有效数字)。签名的数字在正面和负面之间平均分配40亿。 32位计算机在它们的内存地址中使用它,这意味着程序可以本地访问4 GB的内存。 64位计算机的最高限额为2^64,远高于此值。

如果您使用32位数字来表示其他内容(例如自某日期以来的用户,推文或秒数),那么您还会遇到40亿的限制。因此,32位的作品可以达到一定的规模,然而在此之上,尽管有办法解决这个限制,但是转到64位更有意义。

缺点是需要两倍的内存来存储你的号码。

相关问题