一文搞懂原码、反码、补码、移码

目录:

  • 定点数简介
  • 原码
  • 反码
  • 补码
  • 移码
  • 移位运算
  • 加减运算
  • 溢出判断
  • 符号扩展

定点数和浮点数的不同

在这里插入图片描述

定点数的表示

在这里插入图片描述

无符号数的表示(没有符号位!)

在这里插入图片描述

定点数(有符号位!)

原码表示

在这里插入图片描述
在这里插入图片描述
若机器字长占n+1位,则尾数(数值位)占n位
举例:
若机器字长为8位

在这里插入图片描述

在这里插入图片描述

原码表示范围

在这里插入图片描述

反码(原码与补码转换的中间过程)

在这里插入图片描述
注意:反码计算中是循环进位!

补码

在这里插入图片描述
**注意:**在补码运算中进位后若超出机器位范围,舍弃高位

移码(只能表示整数)

在这里插入图片描述
移码的作用
在这里插入图片描述

相关码表示定点数

在这里插入图片描述
举例:
在这里插入图片描述
解析:计算真值时需要先转变为原码然后进行计算!

总结

在这里插入图片描述
在这里插入图片描述


对于补码和移码作用总结:

补码:计算机方便运算
移码:计算机方便比数字大小

移位运算

在这里插入图片描述
在这里插入图片描述
简单举例
在这里插入图片描述

原码的算数移位

在这里插入图片描述
左移与右移位向反
在这里插入图片描述

反码的算数移位

在这里插入图片描述
总结:
在这里插入图片描述
算术移位的应用举例
在这里插入图片描述
如上图可知,计算机可通过移位进行乘法运算

逻辑移位

在这里插入图片描述

循环移位

在这里插入图片描述

总结

在这里插入图片描述

加减运算

在这里插入图片描述
若机器位为八位则在运算中相当于mod 2的八次方(只保留最低8位)
模 - a的绝对值 = a的补数(补码)
在这里插入图片描述总结:对于此题,88-66等价为88的补数+(-66)的补数
计算-66的补数有两种方式:
1.原码->反码->补码
2.模(因为此题的机器位是8位,所以模是2的八次方) - a的绝对值 = a的补数(补码)

补码只有加法,符号位也参与运算
在这里插入图片描述
在这里插入图片描述
注意:说的是数值位,符号位保持不变

溢出判断

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

符号扩展

在这里插入图片描述

总结

在这里插入图片描述

  • 2
    点赞
  • 32
    收藏
    觉得还不错? 一键收藏
  • 8
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 8
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值