0的原码、反码和补码都一样(即0000 0000 )

-1的计算机存储:1111 1111

1000 0001(原码) 符号位不变,后7位取反==>1111 1110(反码)加 1 ==>1111 1111(补码)

补码的一个良好特性就是,对负数的补码表示做补码运算就可以得到其对应的原码 ,正如十进制运算中负负得正一样。

1111 1111(补码) 符号位不变,后7位取反==> 1000 0000 加 1 ==> 1000 0001

-2的计算机存储:11111110

1000 0010(原码) 符号位不变,后7位取反==> 1111 1101(反码)加一==> 1111 1110(补码)

补码的一个良好特性就是,对负数的补码表示做补码运算就可以得到其对应的原码 ,正如十进制运算中负负得正一样。

1111 1110(补码)符号位不变,后7位取反==> 1000 0001 加 1 ==> 1000 0010

-127的计算机存储:10000001

1111 1111(原码) ==> 1000 0000(反码)加 1 ==> 1000 0001(补码)

1000 0001(补码)后7位取反==> 1111 1110 加 1 ==> 1111 1111

-128的计算机存储:10000000

-128的补码和原码一样都是1000 0000

原码1000 0000 (-128,高进位被舍去 1000 0000 1000 0000)

反码0111 1111(-128,高进位被舍去 1111 1111 0111 1111)

补码1000 0000(高进位被舍去 1111 1111 1000 0000 )

1000 0000(补码) -> 按位取反 -> 1000 0000 0111 1111 -> 加 1 -> 1000 0000 1000 0000


NewBie
10 声望0 粉丝

下一篇 »
RabbitMQ安装

引用和评论

0 条评论