char一个字节类型,八位。要知道char的取值范围为什么是-128到127,必须要先知道,在计算机中,数值是怎么存储和计算的-----以补码的形式。
正数:原码、反码、补码都相同。
负数:原码----->反码(除符号位为取反)------->补码(反码的基础上加1)
char类型,一个字节,八位。可存储最大的数为+127,在原码中第一位表示符号。127:0111 1111(原码),而-127:1111 1111(原码),用-1+(-127),即用-1的补码1111 1111与-127的反码1000 0001相加:
1111 1111(补)+1000 00001(补)得1000 0000
[1000 0000]补就是-128. 因为实际上是使用-0的补码来表示-128, 所以-128并没有原码和反码表示.(对-128的补码表示[1000 0000]补算出来的原码是[0000 0000]原, 这是不正确的)
char的取值范围为什么是-128到127
最新推荐文章于 2024-07-30 16:35:46 发布