写在前面

这是博主为了应付期末考试写的一篇博客,主要根据作业中的考点总结而成。这篇博客中想必会有许多错误之处,望大家指正。

让我们开始吧!!!

考点

作业3

  • 原码扩展
    • 整数:在最高位前补0
    • 小数:在最低位后补0
  • 补码扩展
    • 先转化成补码(16进制)
    • 正数在前面补0负数在前面补F
  • ALU的核心部件是加法器
  • 全先行进位加法器无需计算异或门延迟
  • 对于补码,异号相加不会溢出
  • 原码一位乘法,符号位不动,最高位相乘结果为最高5位,最低位相乘结果为最低5位
  • 有x次移位,就有x次相加
  • IEEE 754浮点数计算(参考IEEE754 浮点数:简读+案例=秒懂-CSDN博客

符号

正数0,负数1

阶码

在 IEEE 754 标准中,移码的偏置值是 2(n1)12^{(n-1)}-1,8 位的移码的偏置值为$ 2^{(8-1)}-1$ = 127D = 0111 1111B;

例如:-126D = -0111 1110B ,其移码为 -0111 1110 + 0111 1111 = 0000 0001

尾数

在 IEEE 754 浮点数标准中,尾数码部分采用原码表示,且尾数码隐含了最高位 1,在计算时我们需要加上最高位1,即 1.M,我们通过一个例子来表示:

例如:有一个浮点数,真值为 0.11B ,那么其简略版的 IEEE 754 标准表示为(忽略 符号码 和 阶码):

S(1) E(8) 100 0000 0000 0000 0000 0000
即当 0.11B 这个数在记录为 IEEE 754 标准浮点数时,会这样处理,令 0.11=1.1210.11 = 1.1 * 2^{-1},尾数码是 1.1000…,然后隐含最高位1,即 (1).1000…。

尾数规格化

例: 计算 IEEE 754 标准浮点数的真值:1 100 0000 1010 0000 0000 0000 0000 0000

解:

上数分别对应图1-1的中 S(符号码,0 正,1 负),E (阶码) ,M (尾数数值)为:

S (红色部分) :1

1,表示这个浮点数是个负数;

E (蓝色部分) :100 0000 1

100 0000 1,阶码,其真值为 :移码 - 偏置值 => 1000 0001 - 0111 1111 = 0000 0010 = 2D;

M (黑色部分) :010 0000 0000 0000 0000 0000

010 0000 0000 0000 0000 0000 表示这个浮点数的尾数部分,其真值为:被隐含的最高位1 + 0.尾数部分 => 1 + 0.01 = 1.01B;

通过对 S,E,M 的分析,我们可以计算出该浮点数的真值,即:

1.01B210B=1.25D22D=5.0D-1.01B * 2^{10}B = 1.25D * 2^2D = -5.0D1.01B210B=101.0B=5.0D-1.01B * 2^{10}B = -101.0B = -5.0D

作业4

  • 2.定点运算器可以直接运算定点数

  • 3.当1<x<0-1<x<0时,[x]=2x[x]_补=2-x

  • 8.标准移码:补码的符号位取反(等同于偏移值128)

  • 10.15.16.IEEE 754浮点数计算的尾数规格化

  • 12.原码除法:操作数取绝对值相除,符号位单独处理

  • 13.算术右移和逻辑右移