王道考研——计算机组成原理(第二章 数据的表示和运算-上)

01.进位计数制

r进制计数法

在这里插入图片描述

任意进制转化为十进制

在这里插入图片描述

  • 使用 乘法 和 基数 即可
  • 对于比较长的位数的转化,可以先列出表再填入具体数值

二进制转化为八进制、十六进制

在这里插入图片描述

各种进制的常见书写方式

在这里插入图片描述

十进制转化为任意进制

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

  • 要分为 整数部分 和 小数部分 分别求;整数部分用 除基取余法, 小数部分用 乘基取整法

十进制转化为二进制(拼凑法)

在这里插入图片描述

  • 然后得到 八进制 或者 十六进制

真值和机器数

在这里插入图片描述

在这里插入图片描述

02.BCD码(大纲已删408考生可不看)

本节总览

在这里插入图片描述

BCD码

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

  • 若相加结果在合法范围内,则无需修正
  • 如果大于等于10(也就是说结果落在1010~1 0010的范围内),可以让计算结果+6(0110),这样的话,这四位数就可以向高位进一个1,剩下的部分刚好就是我们需要的个位的部分

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

  • 余3码就是映射的每一个数都要+3,相比于8421码,它是一种无权码
  • 对于2421码,也是一种有权码,且[0,4]这个范围内的数第一位必然是0,[5,9]这个范围内的数第一位必然是1

在这里插入图片描述

03.字符与字符串

在这里插入图片描述

ASCII码

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

  • 控制字符:127的DEL表示delete
  • 通信字符:6的ACK表示两台计算机进行通信时,第二台计算机回复ACK
  • 数字字符:发现0~9的前四位相同,且后四位就是它们对应的8421码
  • 大写字母:前三位相同,后五位转成十进制刚好是1~26,刚好26的英文字母
  • 小写字母:同上

汉字的表示和编码

在这里插入图片描述

字符串

在这里插入图片描述
如果是带有 中文字符 的字符串:
在这里插入图片描述
在这里插入图片描述

04.奇偶校验码

在这里插入图片描述

校验原理简介

在这里插入图片描述

奇偶校验码

只有检错能力,且不能是偶数位错,只能奇数个错

奇偶校验的码距是2
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

05.海明校验码

海明校验码思路简介

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

海明码求解步骤

异或 相当于 偶校验
在这里插入图片描述
在这里插入图片描述

海明码求解步骤-格式变化

在这里插入图片描述

补充

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

06.循环冗余校验码(未补)

07.定点数的表示

定点数 v.s. 浮点数

在这里插入图片描述

本节总览

在这里插入图片描述

无符号数的表示

在这里插入图片描述
无符号数 就相当于 数的绝对值

有符号数的表示

在这里插入图片描述

有符号数的定点表示

在这里插入图片描述

这样,表达一个小数需要将整数部分和小数部分分别保存

尾数 :数值部分

定点表示中,无论是整数还是小数都有一个固定的隐含的小数点,用来确定位权

原码

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

反码

在这里插入图片描述
反码由原码直接转换过来,一一映射,因此反码整数与原码整数表示范围一样,同理小数也是

补码

在这里插入图片描述

在计算+0和-0的补码时(先由原码得到反码再得到补码),发现-0的补码由-0的反码+1后由于这里规定机器字长只有8bit,因此进位的1被隐藏,因此+0和-0的补码皆为0,0000000

这导致原码的表示的数的数量就比补码多了一个了(因为补码这里+0和-0重合),规定1,0000000表示 2 − 7 2^{-7} 27,这样,补码的表示范围就和原码反码不同了

同理,小数也是如此

将补码转回原码

移码

在这里插入图片描述
只有整数才有移码

移码是由补码直接转换过来,是一一映射的,因此表示范围相同
在这里插入图片描述
如果把移码看作 无符号数,也就是把它的符号位也当作尾数,会发现,随着真值增大,移码也增大,因此,方便比较大小

在之后的浮点数中,经常用到移码

用几种码表示定点整数

在这里插入图片描述

这里给出的只是 定点整数(毕竟小数没有移码

原码和反码都有两种真值0的状态,而补码和移码都只有一种真值0的状态,因此补码和移码可以表示更多一位的负数

练习

在这里插入图片描述

正数的原码反码移码相同,移码将符号位取反

负数的反码是将原码的数值位取反,符号位不变;负数的补码是在负数的反码末尾+1;负数的移码是从负数的补码符号位取反

由补码得到原码,先将数值位取反,然后再在末尾+1

技巧 :由一个数的补码得到这个数的相反数的补码

知识回顾

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

08.各种码的作用

加减运算

在这里插入图片描述
如果使用原码表示的有符号数,一个正数加上一个负数,得到的结果直接用真值表示是错误的,需要把一个正数加上一个负数 转换为 一个正数减去一个正数,但这样需要更多的硬件
我们想到能否能用加法代替减法呢?

用加法代替减法

在这里插入图片描述

模运算的性质

在这里插入图片描述

加减运算

在这里插入图片描述

补码 - 补数

比如 10001110要求补数,它的绝对值是00001110,要让它和另一个数相加得到100000000,将它本身取反得到11110001,它们相加为11111111,再加一个1就能得到100000000了,这就是由原码求补码的原理

在这里插入图片描述
88 - 66转换为88的原码加上-66的补码

这里最后结果相加时,由于这里规定机器字长为8bit,最高位溢出的1丢弃了,结果正好是22D

移码

在这里插入图片描述
而反码没什么用,只是原码转换成补码的中间状态

09.移位运算

知识总览

在这里插入图片描述

在这里插入图片描述

算数移位

在这里插入图片描述

原码的算数移位

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

反码的算数移位

在这里插入图片描述

补码的算数移位

在这里插入图片描述

算数移位

在这里插入图片描述

算数移位的应用举例

在这里插入图片描述
将 乘法运算 转换成 移位运算和加法运算

逻辑移位

在这里插入图片描述

逻辑移位的应用举例

在这里插入图片描述

循环移位

在这里插入图片描述
循环移位很适合高低位的调换

比如之前存储“啊”这个字符需要2B,有大端和小端两种方式存,可以循环左移或循环右移8位来进行高低字节的调换

在这里插入图片描述
这里的反码错了

10.加减运算和溢出判断

本节总览

在这里插入图片描述

原码的加减运算

在这里插入图片描述

补码的加减运算

在这里插入图片描述

溢出判断

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

符号扩展

在这里插入图片描述

知识点回顾

在这里插入图片描述

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值