无符号数和有符号数
原码的表示范围:-127-0,+0+127,共256个数。
反码:除符号位,原码其余位取反而得+0:00000000,-0:11111111 仍然有正0负0之分
补码:在反码的基础上加1而得来对原码的两种0同时末位加1
+0:00000000 -0:00000000
C++中的short(16位长)说其表示范围是:-32768~+32767,而unsigned short表示的范围则是:0~65535
在计算机中无符号数用原码表示,有符号数用补码表示
最高位也称符号位,1表示负数,0表示正数,符号位为0,和无符号数的表示是相同的,以下是4位补码的示例:
0101 = -02³+12²+02¹+12º=-5
1101 = -12³+12²+02¹+12º=-3
4位的补码表示最小值是-8(1000),最大值是7(0111)。