计算机组成原理之原/反/补码和定点小数

举报
哥的时代 发表于 2023/12/29 22:57:17 2023/12/29
【摘要】 一、带符号整数表示和运算(原/反/补码) 1、原码符号位“0/1”对应“正/负”,剩余的数值位表示真值的绝对值若机器字长n+1位,带符号整数的原码表示范围: 一(2^n—1) ≤x ≤2^n—1真值0有两种形式:+0 和-0 ,[+0]原=0,0000000;[-0]原=1,0000000缺点:符号位不能参与运算,需要设计复杂的硬件电路才能处理,费钱!贵! 2、原码、补码快速转换 3、补码...

一、带符号整数表示和运算(原/反/补码)

image.png

1、原码

  • 符号位“0/1”对应“正/负”,剩余的数值位表示真值的绝对值
  • 若机器字长n+1位,带符号整数的原码表示范围: 一(2^n—1) ≤x ≤2^n—1
  • 真值0有两种形式:+0 和-0 ,[+0]原=0,0000000;[-0]原=1,0000000

缺点:
符号位不能参与运算,需要设计复杂的硬件电路才能处理,费钱!贵!

2、原码、补码快速转换

image.png

3、补码的加法运算

从最低位开始,按位相加(符号位参与运算),并往更高位进位

例1
image.png

例2
image.png

4、补码的减法运算

将减法变成加法
image.png

image.png

例题
image.png

重点:
image.png

二、原/反/补码的对比

image.png

image.png

  • 原码和反码的合法表示范围完全相同,都有两种方法表示真值0
  • 补码的合法表示范围比原码多一个负数,只有一种方法表示真值0
    image.png

例如:A(-64)+B(-64)=-128,原码对于8bit而言取值范围为:-127~127,所以算溢出。补码对于8bit而言取值范围为:-128~127,所以不算溢出。

三、移码

移码:补码的基础上将符号位取反。注意:移码只能用于表示整数
image.png

image.png

若机器字长n+1位,移码整数的表示范围:一2^n ≤x≤2^n一1(与补码相同)
image.png

总结:
image.png

  • 原码和反码的合法表示范围完全相同,都有两种方法表示真值0

  • 补码的合法表示范围比原码多一个负数,只有一种方法表示真值0

  • 移码的合法表示范围比原码多一个负数,只有一种方法表示真值0
    image.png

  • 原码和反码的真值0有两种表示

  • 补码和移码的真值0只有一种表示

  • 补码和移码可以多表示一个负数

例题:
image.png

四、定点小数表示和运算

image.png

image.png

1、定点小数的加/减运算

对两个定点小数A、B进行加法/减法时,需要先转换为补码

计算机硬件如何做定点小数补码的加法:从最低位开始,按位相加(符号位参与运算),并往更高位进位

计算机硬件如何做定点小数补码的减法:

  • “被减数”不变,“咸数”全部位按位取反、末位+1,减法变加法
  • 从最低位开始,按位相加,并往更高位进位

2、定点小数与定点整数对比

image.png

3、小数补码的加法运算

计算机硬件如何做补码的加法:从最低位开始,按位相加(符号位参与运算),并往更高位进位

例1(整数)
image.png

例2(小数)
image.png

4、小数补码的减法运算

计算机硬件如何做带符号数补码的减法:

  • “被减数”不变,“减数”全部位按位取反、末位+1,减法变加法
  • 从最低位开始,按位相加,并往更高位进位

例1
image.png

例2
image.png


总结

以上就是计算机组成原理之原/反/补码和定点小数的相关知识点,希望对你有所帮助。
积跬步以至千里,积怠惰以至深渊。时代在这跟着你一起努力哦!

【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。