一.假设一个整形数据类型有w=5位,把向量x看作一个二进制的表示数
1)无符号数表示编码范围为:11111,11110,....,00000,即十进制的255~0;
2)补码编码:有符号数计算机表示方式,最高位为符号位:11111,11110,...,00000,即十进制的-128~127;范围为10000(-128),10001(-127),....,00000(0),00001(1),....,01111(127)
3)为什么求某负数的二进制表示值时为对应正数二进制取反再加1,例如-5的二进制表示为5的二进制后再加1操作:00101(5),取反为11010,再加1为11011。11011对应十进制为-16+8+2+1=-5;
请看一下图解:
所以像上面的例子:5的二进制表示为-6,然后-6再加1就为-5,从而是对应正数取反再加一;
二.有符号数到无符号数的转换