原码、反码和补码

3.3.14原码、反码和补码

概述:

数值的表示方法——原码、反码和补码

原码:最高位为符号位,其余各位为数值本身的绝对值

反码:

正数:反码与原码相同

负数:符号位为1,其余位对原码取反

补码:

正数:原码、反码、补码相同

负数:最高位为1,其余位为原码取反,再对整个数加1

 

 

 

1、计算机原码用于表示有符号整数中的正数和无符号整数

(1)原码正数代码示例:

原码、反码和补码

在内存中十六进制的显示

原码、反码和补码

 

(2)正数:反码与原码相同;负数:符号位为1,其余位对原码取反

原码、反码和补码

查看内存中的补码的实现代码:

原码、反码和补码

2、计算机的负数用补码存储。

原码、反码和补码

 

 

3、讲解分析例子:

原码、反码和补码

4、

思考题:分别分析9、-9、1、-1的原码反码补码

原码、反码和补码

5、补码求原码,得出数值

原码、反码和补码

 

例题:

原码、反码和补码

原码、反码和补码

原码、反码和补码

3.3.16原码、反码和补码

概述:

采用原码表示法简单易懂,但它的最大缺点是加法运算复杂。这是因为,当两数相加时,如果是同号则数值相加;如果是异号,则要进行减法。而在进行减法时还要比较绝对值的大小,然后大数减去小数,最后还要给结果选择符号。为了解决这些矛盾,人们找到了补码表示法。

 

习题练习,世界500强面试补码题目拆解

第一题:

原码、反码和补码

第二题:

原码、反码和补码

第三题:

原码、反码和补码

3.3.17基本数据类型

原码、反码和补码

3.3.18数值范围

Int型有无符号的区别

原码、反码和补码

3.3.18.1代码验证 Int型有无符号的区别,分别打印nt型有无符号的极值

原码、反码和补码

显示极值

原码、反码和补码

3.3本节小结:

原码、反码和补码

原码、反码和补码