补码无符号数互换

无符号数补码是本身

有符号数补码是原码按位取反再加1 

有符号数与无符号数互转:

有符号数的补码,无符号数的补码

无符号数的补码就是原码本身

有符号数的补码是有符号数据绝对值的原码按位取反再加1 得到的就算有符号数的补码

无符号数据既是无正负之分,所有的位都表示数据,无符号数转换成有符号数,主要看 无符号数的最高有效位,有符号数的最高位为符号位,如果无符号数的最高有效位不为1既为0,则无符号数就是有符号数,如果无符号数的最高有效位为1 ,怎无符号数的补码既原码就是有符号数。



有符号数转换成无符号数,如果有符号数的最高有效位不为1既为0 ,则有符号数之间就是无符号数,如果有符号数的最高有效位为1,则有符号数据的补码既是无符号数

有符号数的补码= 绝对值原码按位取取反再+1 

















补码与无符号数,

补码转无符号数

t('s)2u  TMinw <= x <= TMaxw

一般补码即有符号数的存储范围为 -2(w-1) - 1 ~ 2(w - 1);

无符号数的取值范围为0 ~ 2(w) - 1

x => 0时, T2Uw(x) = x;

x < 0时,   T2Uw(x) = x + 2(w)


无符号转换成补码

对满足0<= u <= UMaxw   u 的值是无符号数据的取值范围

u2Tw(u) 

当u <= TMaxw(当无符号数小于等于补码有符号数时)   无符号数据就是有符合数


当u > TMaxw当同位的 无符号数  比同位的 补码有符合数的最大值大时,u - 2w  

上一篇:从零开始构建MSBuild C#项目文件


下一篇:linux双网卡绑定实现冗余与负载均衡