为什么65535的二进制为111....1111(16个1),111....1111(16个1)是-1的二进制?
为什么65535的二进制为111....1111(16个1),111....1111(16个1)是-1的二进制?
日期:2021-08-16 02:00:56 人气:1
2^16=65536,2^16-1=65535这没有错啊!111....1111(16个1)是-1的二进制也没错,但这是在int型为2字节的时候。当int型为2字节时,能表示的有符号数的范围是-32768~32767,表示无符号数时范围是0~65535。现在的int型已大都为4字节了,你困惑的这个问题已转移到更大的数上去了。其实计算机里没有什么正数、负数,都是些0、1符号,代表什么数看编程者怎么对待了。就说这111....1111(16个1),在16位整型平台下,编程者如果认为是无符号数,那就是6553