ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

961计组考纲(2)——数据的表示和运算

2020-10-29 21:00:46  阅读:255  来源: 互联网

标签:表示 运算 961 尾数 浮点数 times 127 考纲 计组


961计组考纲(2)——数据的表示和运算

这一部分上课的时候根本没讲过,结果一看真题还考了,遂不得已看看,结果也不是很懂。QAQ

数制与编码

二进制与十进制的转换,不解释。

值得注意的是,二进制的小数位只能表示\(1/2, 1/4, 1/8, ..., 1/2^n\),因此二进制无法表示所有的十进制小数,只能近似表示(所以有了浮点数?)

定点数和浮点数的表示与运算

定点数表示

这里全都考虑有符号数,假设字长有n+1位

  • 源码\([-2^n+1, 2^n-1]\):第一位表示符号,剩下表示绝对值数值,表示范围
  • 反码\([-2^n+1, 2^n-1]\):第一位表示符号
    • 若是正数,数值位与源码相同
    • 若是负数,数值位与源码按位取反
  • 补码\([-2^n, 2^n-1]\):正数与源码相同,负数则取反码+1,0只有一种表示,多出来的10000(1后面n个0)可以表示\(-2^n\),1后面的数值位表示\(-2^n\)后面补上多少绝对值,而源码中00000和10000都表示0,显然不适合程序
  • 移码\([-2^n, 2^n-1]\):真值加上某个2的幂

定点数运算

补码机器实现加、减运算的方法统一(模运算-去掉溢出)

  • 符号位和数值位按同样规则参与运算
  • 逢二进一
  • \([A +B]_{补} = [A]_{补}+[B]_{补} mod(2^{n+1})\)
  • \([A-B]_{补} = [A]_{补}+[-B]_{补}mod(2^{n+1})\)
  • 运算结果仍是补码

乘除法:异或运算

  • 部分乘积和被乘数取「双符号位」

浮点数表示法

通常采用\(\mathbf{S} \times 2^{\mathrm{J}}\)

  • 阶码J:采用定点整数表示(下面的01000)
  • 尾数S:采用定点小数表示(下面的0.10110010001)

\[(178.125)_{10}=(10110010.001)_{2}=0.10110010001 \times 2^{01000} \]

image-20201026205303563

IEEE 754标准

  • IEEE 754中尾数m采用源码表示(理解为科学计数法的基,不带符号,而且去掉了第一个有效数字1,真是节省存储空间到了极致),阶码部分用移码表示(就是\(E-127\)或者\(E-1023\),这样设置的目的可以通过\(E \in [1,254]\)的取值大小控制正整数和小数部分的表示,)

  • 单精度浮点数32位,双精度浮点数64位

  • image-20201026205336847

为了充分利用尾数,增加数据的表示精度,规格化浮点数最高位必须是有效值(小数点前是1,第1位有效数字)

  • 单精度浮点数表示公式:\((-1)^{S} \times 1 . m \times 2^{(E-127)}\)

    • float所能表示的最大正整数:符号0,阶码取最大值为127(即254-127),令m(23位)尾数全为1时最大,则\(m=2-2^{-23}\),结果是\((2-2^{-23}) \times 2^{127}=2^{128}-2^{104}\)
    • 【为什么阶码最大只能取127:IEEE标准偏置值位127时,空出8位全1来表示无穷大,空出全0表示非规格化数,故阶E的取值不超过\(2^{8}-2 = 254\),范围在1~254之内】
  • 双精度浮点数表示公式:\((-1)^{S} \times 1 . m \times 2^{(E-1023)}\)。

恢复成IEEE存储形式的时候记得不要放错地方,运算的时候记得把m写成1.m再计算啊啊啊

浮点数运算

  • 浮点数运算的特点是阶码运算和尾数运算分开进行,浮点数的加减运算一律采用补码。

  • 浮点数加减运算一般包括:对阶、尾数运算、规格化、舍入、判断溢出

    • 对阶:对阶的目的是为使两个浮点数的尾数能够进行加减运算,毕竟两个数指数相同才能提公因式加减啊。

      • 显然,尾数逻辑右移时,舍弃掉的有效位会产生误差,影响精度
    • 尾数运算:对阶后的尾数按照定点数的规则加减即可

    • 规格化

      • 左规:
      • 右规:
    • 舍入

    • 判断溢出

  • (2017-961)浮点数除法运算的三个基本步骤:阶码运算、尾数运算、结果规格化

举个栗子:

https://blog.csdn.net/shuzfan/article/details/53814424

算术逻辑单元ALU

串行加法器和并行加法器

ALU的功能和结构

标签:表示,运算,961,尾数,浮点数,times,127,考纲,计组
来源: https://www.cnblogs.com/vanellopeblog/p/961CO2.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有