【计算机组成原理详细知识归纳】 运算方法和运算器

版权声明:本文为博主原创文章,未经博主允许可以转载。 https://blog.csdn.net/KEYboarderQQ/article/details/72638736
                                        <div class="markdown_views">
            <h1 id="21-数据与文字的表示方法"><a name="t0"></a>2.1 数据与文字的表示方法</h1>

2.1.1 数据样式

在选择计算机的表示方法时,要考虑
1. 数的类型(小数,整数,实数和复数)
2. 数值范围
3. 数值精确度
4. 数据存储和处理所需的硬件代价

计算机中常用的数据表示格式:1. 定点格式;2. 浮点格式
定点格式:数据范围有限,要求的处理硬件比较简单
浮点格式:数据范围较大,要求的处理硬件比较复杂

1.定点数的表示方法:

参与运算的数的小数点位置固定不变。

Xn” role=”presentation”>XnXn&#xA0;Xn&#x2212;1&#xA0;...&#xA0;X1&#xA0;X0” role=”presentation”> Xn1 ... X1 X0 Xn−1 ... X1 X0
符号量值(尾数)
纯小数:

小数点在Xn” role=”presentation”>XnXn之间。
小数点固定在最高位之后称为定点小数。若机器字长为n+1位,数值表示为:
X=Xn.Xn&#x2212;1&#xA0;...&#xA0;X1&#xA0;X0” role=”presentation”>X=Xn.Xn1 ... X1 X0X=Xn.Xn−1 ... X1 X0
例如:1111表示-0.875
绝对值最小:各位均为0,|X|min=0” role=”presentation”>|X|min=0|X|min=0;
绝对值最大:各位均为1,|X|max=1&#x2212;2&#x2212;n” role=”presentation”>|X|max=12n|X|max=1−2−n;

纯整数:

小数点在X0右边。
绝对值最小:各位均为0,|X|min=0” role=”presentation”>|X|min=0|X|min=0;
绝对值最大:各位均为1,|X|max=2n&#x2212;1” role=”presentation”>|X|max=2n1|X|max=2n−1;
PS:
0.1111111 = 1.0000000 - 0.0000001 = 1 - 2&#x2212;7” role=”presentation”>272−7;
0 1111111 = 1 0000000 - 1 = 27” role=”presentation”>2727 - 1;

2.浮点数的表示方法:

  1. 任意十进制N” role=”presentation”>NN
  2. 任意二进制N” role=”presentation”>NN
    -M” role=”presentation”>MM 为浮点数的尾数,是一个纯小数
    -e” role=”presentation”>ee 是比例因子的指数,称为浮点数的指数,是一个整数
IEEE754标准
S” role=”presentation”>SSE” role=”presentation”>EEM” role=”presentation”>MM
31(1)30———23(8)22———0(23)

-S” role=”presentation”>SS = 1表示负数。
-E” role=”presentation”>EE 是阶码,占用8位;阶码采用移码方法来表示正负指数。
指数真值变成阶码E” role=”presentation”>EE.
当尾数的值不为0时,尾数域的最高位应为1,这称为浮点数的规格化表示。否则以修改阶码的同时左右移动小数点位置的方法,使其变成规格化数形式。
32位浮点数x的真值表示:
x=(&#x2212;1)S&#x00D7;(1.M)&#x00D7;2&#xA0;E&#x2212;127” role=”presentation”>x=(1)S×(1.M)×2 E127x=(−1)S×(1.M)×2 E−127;
e+127=E” role=”presentation”>e+127=Ee+127=E.
其中尾数域所表示的值是1.M” role=”presentation”>1.M1.M。由于规格化的浮点数的尾数域最左位(最高有效位)总是1,故这一位经常不予存储,而认为隐藏在小数点的左边。于是23位字段可以存储有效数。


例1:(754标准转化10进制)
若浮点数x的754标准存储格式为(41360000)16” role=”presentation”>(41360000)16(41360000)16 ,求其浮点数的十进制数值。
将16进制转化成二进制:

S” role=”presentation”>SS 符号位E” role=”presentation”>EE 阶码M” role=”presentation”>MM 尾数
0100 0001 0011 0110 0000 0000 0000 0000
31(1)30———23(8)22———0(23)

指数 e = 阶码 - 127=10000010 - 00000011 =(3)10” role=”presentation”>(3)10(3)10
包括隐藏位1的尾数1.M” role=”presentation”>1.M1.M = 1.011 0110 0000 0000 0000 0000 = 1.011011
x=(&#x2212;1)S&#x00D7;(1.M)&#x00D7;2&#xA0;e=+(1.011011)&#x00D7;23” role=”presentation”>x=(1)S×(1.M)×2 e=+(1.011011)×23x=(−1)S×(1.M)×2 e=+(1.011011)×23
例2:(10进制转化754标准)
将数(20.59375)10” role=”presentation”>(20.59375)10(20.59375)10 转换成754标准的32位浮点数的二进制存储格式。
1.转化成二进制:20.59375=10100.10011
2.规格化表示:10100.10011=1.010010011&#x00D7;24” role=”presentation”>×24×24
3.得符号位S=0,阶码E=4+127=131=10000011,M=010010011
解得:

S” role=”presentation”>SS 符号位E” role=”presentation”>EE 阶码M” role=”presentation”>MM 尾数
0100 0001 1010 0100 1100 0000 0000 0000
31(1)30———23(8)22———0(23)

3.十进制数串的表示方法:

1). 字符串形式:即一个字节存放一个十进制的数位或符号位。主要用于非数值计算的应用领域中。
2). 压缩的十进制数串形式:即一个字节存放两个十进制的数位。节约空间,便于直接完成十进制数的算术运算,是广泛采用的较为理想的方法。每个数位占用半个字节(即4个二进制为)

2.1.2 数的机器码表示

符号位数值位一起来编码来表示相应数的各种表示方法,如原码,补码,反码,移码。
一般书写表示的数称为真值,机器中这些编码表示的数,称为机器码或者机器数。

1. 原码表示法

若定点整数的原码形式为Xn.Xn&#x2212;1&#xA0;...&#xA0;X1&#xA0;X0” role=”presentation”>Xn.Xn1 ... X1 X0Xn.Xn−1 ... X1 X0,则原码的定义为:
[x]&#x539F;={

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值