整形数据类型的表示

一.假设一个整形数据类型有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;

 

请看一下图解:

 


整形数据类型的表示_第1张图片
 

所以像上面的例子:5的二进制表示为-6,然后-6再加1就为-5,从而是对应正数取反再加一;

 

二.有符号数到无符号数的转换


整形数据类型的表示_第2张图片
 

 

 

 

 

 

你可能感兴趣的:(数据类型)