计算机组成原理-数据表示-02

2.1

进位计数法

  • 二进制(方便对应到物理器件的状态)(B)
  • 四进制
  • 八进制
  • 十进制(D)
  • 十六进制(H)
    基数:每个数位所用到的不同符号的个数。
  • 基数大----位数少----运算多
  • 基数小----位数多----运算少

进制转换

任意进制与十进制

001

  • 任意进制–>十进制:按照上面方法写出来,按十进制相加
  • 十进制–>任意进制:除基取余法(整数/r取余数,小数*r取整数部分)

二进制与八进制、十六进制

002

真值与机器数

  • 真值:带符号的数:例如 +15
  • 机器数:把符号用01表示,01111

BCD码

BCD码的三种表现
003

字符与字符串

  1. 常用的字符包含数字、字母、符号共128个字符-------->用7位二进制编码--------->ASCLL码
  • 可印刷字符(32-126)
  • 数字(48-57)
  • 大写字母(65-90)
  • 小写字母(97-122)
  1. 字符串的存储:
  • 大端模式:存储单元内先存储高位字节、后存储低位字节的顺序。
  • 小端模式:存储单元内先存储低位字节、后存储高位字节的顺序。

汉字+各种符号共7445个:
004

校验原理和奇偶效验

码距: 两个合法码字对应数字的不同位的个数。
校验原理: 在编码方案中有一些编码用不到,这些编码可以用来指示错误。
奇校验: 保证一段数据中出现奇数个1(只能检测出奇数个错)。
偶校验: 整个校验码(有效信息位和校验位)中 “1”的个数为偶数。
005

海明码

设计思路:

分组校验---->多个校验位---->校验位标注出错误位置
006

求解步骤:

参考链接

  1. 确定海明码的位数: 2k >= n + k + 1
  2. 确定校验位的分布: 校验位 Pi 放在 2i-1 的位子上,信息位顺序放到其余位置。
  3. 求校验位的值:007
  4. 纠错:校验位 S3 S2 S1: 008

循环冗余效验码(CRC)

009

求解步骤:

  1. 确定 K、R以及生成多项式对应的二进制码。 K = 信息长度,R = 生成多项式最高次幂,
    010
  2. 移位:信息码左移 R 位,低位补0。
  3. 相除:移位后的信息码,用生成多项式对应的二进制码,进行模2除法,产生余数就是校验码
  • 除法规则:011
  1. 检错和纠错:把收到的数据,用生成多项式的二进制码做模2除,余数000代表没错,否则代表出错位。案例:
    012

2.2

无符号数及定点数的表示

无符号数

  • 无符号数:整个机器字长的全部二进制位均为数值位,没有符号位,相当于数的绝对值。
  • 8位二进制数:28 种不同的状态,范围:(0 ~ 28-1)
  • n位无符号数表示范围:(0 ~ 28-1)

定点数
000

原码 补码 反码 移码

约定:用 X 表示真值,[X]原 表示原码,[X]补 表示补码,[X]反 表示反码,[X]移 表示移码。

原码:

由符号位决定计算规则

  1. 纯小数原码:
    000
  2. 纯整数原码:
    002

补码

  • [X]原–>[X]补:正数不变:负数符号位不变,数值位取反加1
  • [X]补–>[-X]补:连同符号位一起取反加1
  • 纯整数表示范围:-2n ~ 2n-1 (比原码多表示 -2n
  • 纯小数表示范围:-1 ~ 1 - 2-n (比原码多表示 -1)

反码

  • [X]原–>[X]反:正数不变:负数符号位不变,数值位取反
  • 表示范围与原码相同。

在这里插入图片描述

移码

定义: 就是在真值X上加上一个常熟(偏置值)通常这个常数取 2n

  • [X]移 = Xn + X
  • 补码和移码的关系:补码的最高位取反=移码

移位运算

1
**右移 n 位相当于 除以 ** rn 左移 n 位相当于乘以 rn

  1. 逻辑移位:
  • 机器数采用无符号数。
  • 左移时高位丢失,低位补零
  • 右移时低位丢失,高位补零
  1. 算数移位
  • 有符号数的移动
  • 符号位不参与移位
  • 原码算术移位:左移丢1,运算出错;右移丢1,影响精度。

2

循环移位: 把移出的位补充到空出的位置。

加减运算和溢出判断

采用补码来计算

溢出判断方法:

3

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

原码乘法

原码一位乘法

  • 符号位单独运算(异或运算)
  • 数据位取绝对值,每次将一位乘数对应的部分积与原部分积的累加和进行相加,并右移一位,直到乘数的所有位被用完。

补码移位乘法

4

强制类型转换

  • 无符号数与有符号数:不改变数据内容,改变解释方式
  • 长整数变短整数:高位截断,保留低位
  • 短整数变长整数:符号扩展

除法预备知识

  1. 原码的除法:(手工实现)
    在这里插入图片描述

  2. 原码恢复余数法:
    6

原码除法与补码除法

  1. 原码的不恢复余数法:
    78
  2. 补码的加减交替法(符号位参与运算)
    79

2.3

浮点数的表示

8

规格化后的范围总结:

567

IEEE754标准

规格化格式:
99
89
规定:

  1. E=0且M=0,则真值为0
  2. E=0且M != 0 ,为非规格化数,真值=(-1)s X 0.M X 2-126
  3. 1<=E<=254时,真值=(-1)s X 1.M X 2E-127
  4. E=255且M != 0时,真值为 ‘NaN’(非数值)
  5. E=255且M = 0时,真值为正无穷或负无穷(看符号位)

90

浮点数加减

步骤

步骤:

  1. 对阶:使两个数的阶码相等,小阶向大阶看起,尾数每右移一位,阶码加1
  2. 尾数加减
  3. 规格化(负数的规格化形式是1.0XXX……)
  4. 舍入
    789
  5. 判溢出

强制类型转换

4567

2.4

ALU

主要功能:

  • 算术运算:加减乘除等。
  • 逻辑运算:与或非,异或等。
  • 辅助功能:移位、求补等。
  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值