[例题详解]真值 机器数概念 | 原码 反码 补码 移码 概念及加减计算

真值和机器数

真值:-5、+10
机器数(带符号数)(= 符号位 [0正1负] + 数值位):10001 (-1)、00001 (+1)

原码

原码:
原码只需将真值的符号位数值化即可 [0正1负]
如,
请添加图片描述
(仔细体会下小数的原码符号位真值化后加在哪里了)

再看一道例题,
请添加图片描述
首先求出X的原码为01011(千万不要遗漏掉隐藏的正号),再补0为8位
Y的原码为11101(计算机中不保存小数点),再补充0为8位
补0规则:整数前方补0,小数后方补0【为啥?保持数值大小不变呀,例如0.3和0.300】

关于原码加减计算在最后例题中~

反码

正数的反码同其原码,负数的反码的数值位相反
如,
请添加图片描述

补码

正数的补码同其原码,负数的补码的数值位"按位取反,末位加一"
如,
请添加图片描述
再看一道例题,
请添加图片描述
首先求X的补码01011,再在符号位之后,数值位之前补0补齐8位,为00000110
首先求Y的反码为10010,再末位加一求补码,10011,在数值位之后补0补齐8位,为10011000
ps:补0位置小数和正数不同,参考原码处类似例题讲解;符号位一定在第一位

移码

移码的符号位与补码相反,数值位与补码相同

对比记忆 | 原 反 补 移码

  • 原码、反码、补码都带符号
  • 对于正数:①原码、补码、反码编码完全相同,等于它本身 ②补码和移码的符号位相反,数值位相同
  • 对于负数:①原码:符号位为1,数值部分与真值的绝对值相同 ②补码:符号位为1,数值部分与原码各位相反,且末尾+1 ③移码:符号位与补码相反,数值位与补码相同

加减法 | 原码 补码

  • 补码的符号位也参与运算
  • 原码
    下面这张图解释得很清晰请添加图片描述
  • 补码 ①加法:正常相加 ②减法:需将减法转化为加法,如求 X-Y 的补码,则要求 X + (-Y) 的补码,-Y的补码为Y取反

如果上述理论看得云里雾里的,请仔细体会并实际演算下这个例题
请添加图片描述

结语 | 大学生学习复习资料

  • 该笔记为 计算机组成原理课程 自我知识点记忆所用,如有错误,欢迎大家指正~
  • 我还写了其它大学生期末复习系列笔记,如数据结构、电子电路等,该系列笔记多注重例题讲解,而非纯枯板理论,欢迎大家查阅
  • 关注我,一起学习嗨皮~

猜你喜欢

转载自blog.csdn.net/qq_45832958/article/details/120944227