初学C语言,输出65535怎么来的
初学C语言,输出65535怎么来的
日期:2016-02-28 06:37:45 人气:1
首先你得知道原码 补码和反码.二进制。
计算机存数据以二进制补码存。
整数补码是本身,负数为反码(除符号位,其余的0 1 互变)加1。
比如:-1;
-1原码二进制1000 0001(最左边那位为符号位,1是负的,0是正的。)
-1 反码 1111 1110
-1补码 1111 1111
而无符号整型 unsigned short ,把最左边的符号位强制当成数值来用,所以unsigned short 都是正数,把1111 1111转回正数十进制就是65535。