我是C初学者,需要快速澄清有关整数.
当你将某个东西作为一个32位的int转换时,一半的位被分配给负整数.因此,如果您知道您将始终具有正整数,则将某些内容作为无符号整数推送应该最大化您的正位,因此当您知道输出将始终为正时更有意义.这是真的?
谢谢!
half of the bits are allocated for negative integers 这种说法不正确,一位被分配给常规整数的符号.
但是,你的假设是正确的.如果你是肯定的,那么数字是正的,使用unsigned int将允许你访问[0,2 ^ 32]范围内的数字,而常规int将只允许[ - (2 ^ 31),2 ^ 31-1],因为你不需要负值,所以它会减少正数.
| 归档时间: |
|
| 查看次数: |
5505 次 |
| 最近记录: |