源码,反码,补码及其运算

概念:

正数的源码,反码,补码是一样的;

负数的原码,最高位是符号位,其余位为该数相反数的源码(即绝对值的源码);反码是原码的符号位不变,其余为取反;补码在反码的基础上加1;

例子:

如:1111,1111 表示的数是-1,可以根据运算规则得到-1,还可以这样计算,最高为1是符号位,其余为都是最大位,八位的负数的最大值是多少?-1

再如:1000 0000 表示的数是多少? 已知补码求源码,有两种方式,

①:求补的逆运算,即把求一个数的补码的过程倒过来, 1000 0000 减去1得到,0111 1111 (此时最高为参与运算)再取反得到:1000 0000 又因为是负数,所以是-128 ;

②:求补运算,连同符号位,取反加1;1000 0000 取反得到:0111 1111 加1 得到 1000 0000 又因为是负数,所以是 -128;

③:还可以这样计算,最高为是符号位1,其余为是0,最小值,所以是8位的最小值,是-128,也计即byte类型的最小值。

发布了115 篇原创文章 · 获赞 180 · 访问量 11万+

猜你喜欢

转载自blog.csdn.net/qq_31807385/article/details/85242219