前言: 我的个人听课记录,毕竟是初学,错误在所难免,我知道了错误会改正更新,欢迎指导也欢迎一起讨论学习。

2.2 机器数的定浮点表示

引言

上次课解决了如何表示带符号数的符号在计算机的表示方法——设置首位为符号位,这次课解决计算机中小数点的表示方法——不表示。
小数点在计算机中不表示,只是和计算机约定好了小数点存在的位置。

计算机可以分成整数机和小数机。(都是定点机)
小数机只处理小数,即送到小数机的数必须是小数且必须是纯小数,约定小数点在符号位后边。
整数机只处理整数,即送到整数机的数必须是整数,约定小数点在数的末尾。


基本原理都是将小数点固定在双方约定的位置,因此不需要表示在数字中。

2.1定点机

定点小数

小数机约定:小数点在符号位后边。

定点整数

整数机约定:小数点在数据末尾。

例题

例1:X=1001的十进制数
小数机:1.001=-0.125D?错,原码or补码?
原码:-2-3=-0.125
补码:1.110+1=1.111,
即 -(2-1+2-2+2-3)= -0.875
整数机:
原码:1001即-1
补码:1110+1=1111,即-7
例2:X=1000
原码:
整数:1000即-0
小数:1.000即-0
补码:
整数:1111+1=0000,即+0, 阿哦,错了。
它不眼熟吗?补码1000是-8呀!!(整数的负的最大)
小数:-1 (1.000小数的负的最大为-1)

2.2.2浮点机

核心:科学计数法表示。
+32.75,用科学计数法表示为:+0.3275×\times× 102
即存储: 0.3275 和 2
例:11.011 即+ 0.11011×\times× 2+10
(其中都是二进制,10是2)
在计算机中应存储:
011011 和010,
且定义011011为尾数,定义010为阶码。
于是浮点机规格可以用(m,n)表示,其中m表示阶码有m位,n代表尾数有n位。

定浮点数的表示举例:-6.5:

 定点小数:(-6.5)D=(-110.1)B原码:11101原码:10010+1=10011
定点正数:原码:11101补码:10011
浮点机:-6.5=-110.1=-0.1101* 2^11(11是3)原码:11101 011补码:10011 011尾数的原码转补码即10010+1=10011 阶码011的补码即011(正数)。
PS:
定点正数和定点小数的原补码虽然长得一样,但具体不一样。
定点小数的原补码隐含小数点在符号位后边,
而定点小数的原补码隐含小数点在末尾。

可以看到定点整数和定点小数用5位就可以表示,而浮点机的话需要用8位才能表示。于是引出精度和范围比较:

2.2.3精度和范围比较

精度:一种编码方式下两个数之间的最小距离。

定点整数精度:最小距离就是1;

定点小数精度:对于:an-1an-2···a0的最小距离是2-(n-1) 那么8位就是2-7=1128{1}\over{128}1281​

浮点数精度(4,4):尾数:2-3 阶码 :2-7
所以2-3×\times× 2-7=2-10

范围(8位原码为例)

定点小数:1111 1111 ~0111 1111
(隐含小数位在符号位之后)
即:-(1-2-7) ~ +(1-2-7)= -127128{127}\over{128}128127​~ +127128{127}\over{128}128127​

定点整数:1111 1111~0111 1111
(隐含小数在末尾)
即:-(27-1) ~ (27-1)= -127~ +127

浮点数(4,4):
0111 1111~0111 0111
即:-0.875×\times× 27~+0.875×\times× 27

8位机原码总结:

            精度              范围
定点整数:    1        -127/128 ~ +127/128
定点小数:   1/128         -127 ~ +127
浮点数:   2^(-10 )    -0.875*2^7 ~ +0.875*2^7

可以看到从上往下精度越来越精,范围越来越窄。

规格化浮点数

例:
(-6.5)D=(-110.1)B
                = - 0.1101×\times× 211(规格化浮点数)
                = - 0.01101×\times× 2100(非规格化浮点数)
求几个特殊规格化数:
(4,4)规格化浮点数最大的数,最小的数,
离0最近(正的)的数。
a.最大:0111 0111,是规格化的
b.最小:0111 1111,是规格化的
c.离0最近(正的):1111 0001,不是规格化的,所以规格化的离0最近的数是:1111 0100

2.2.4阶码

引入:
3.28×\times× 102+0.42×\times× 103
=(0.328+0.42)×\times× 103
在计算机中我们可以用比较器比较2和3的数,输出3,
之后将0.328和0.42送到加法器中进行运算。
但是:如果是3.28×\times× 10-2+0.42×\times× 10-3呢?
-2是 1010,-3是1100,比较器比较出来的是-3大,不对。于是引入了移码,移动使其全为正数。
于是给出移码的运算规则
[X]移[X]_移[X]移​=[X]补[X]_补[X]补​+偏置值。
偏置值有两种。一种是2n-1一种是2n-1-1。这里的n包括符号位。
也给出更简单的实现方案
偏置值为2n-1时,可以看成补码的符号位取反;
于是偏置值为2n-1-1时,可以看成补码的符号位取反后减1。
例:[X]浮[X]_浮[X]浮​=[11010111]补[11010111]_补[11010111]补​(4,4)
可得阶码:1101(补码形式)
如果用偏置值:
偏置值是24-1=1000,1101+1000=0101(1 0101)
补码形式1101,符号位取反为:0101
偏置值是24-1-1=0111,1101+0111=0100(1 0100)
补码形式1101,符号位取反后减1 是:
0101-1=0100
例题:
求:-14.25.写出(6,6)浮点数(阶码用移码表示,尾数用原码)
-14.25= - 1110.01
          = - 0.111001×\times× 2100
6位阶码:000100求移码:补码形式符号位取反:100100
6位尾数:111100(位数不够,舍掉最后的1)
所以答案:100100111100

2.2.5 实用浮点数举例:IEEE 754标准

规定:
a 第一位(最高位)为尾数的符号,即整个数的符号
b 尾数用原码表示
c 尾数必须是规格化的。
即小数点后面是1,所以IEEE754标准将1隐藏。好处:尾数可以多表示一位。

第三个要求:
101.111=0.101111×\times× 2100(上边的)
然而用IEEE标准表示:1.01111×\times× 2^11(其中小数点前的1隐藏)
例题来体会:
求-32.75短浮点数IEEE标准表示
-32.75
= -100000.11
= -1.0000011×\times× 2101
首位符号位:1
阶码(8位):00000101->10000101
尾数(32):1. 0000011 0000 0000 0000 0000
IEEE标准:11000010000000110000000000000000
用十六进制表示:
1100——C
0010——2
0000——0
0011——3
16个0——0000
所以用16进制表示为:C2030000H
求出:(C2430000)H=( ?)D

答案: - 48.75
·
·
·
·

大二上,计组原理笔记(2)2.2 机器数的定浮点表示相关推荐

  1. 我的2013 --岁月划过生命线(大二.上)

    岁月划过生命线(大二.上) 又一次大清早被红马甲查赶出被窝,让哥光着屁股就跑到隔壁宿舍去了,真心恨死他们! 这是一篇最早写于2013.11.26日的日志,通过后来不断地增删改,来总结,回忆自己的大学二 ...

  2. 岁月划过生命线(大二.上)

    岁月划过生命线(大二.上) 又一次大清早被红马甲查赶出被窝,让哥光着屁股就跑到隔壁宿舍去了,真心恨死他们! 这是一篇最早写于2013.11.26日的日志,通过后来不断地增删改,来总结,回忆自己的大学二 ...

  3. 大二上学期(回顾与展望)

    大二上学期(回顾与展望)----写在大二下学期开学的前一天 想起去年此时,壮志满满,感觉自己可以一天工作25小时保持高效,做事从不拖拉,然而现在却非常墨迹,寒假开始要完成的事拖到现在,或许明年也不会再 ...

  4. 大二上学期做的不入眼的导航系统。

    大二上学期,数据结构老师说要让我们做一个课程设计,记得是从民航管理系统.导航系统.和电话管理系统三个系统里选择其中一个,而我就因为看会了floyd,就决定写写导航系统把,事实并没有非常熟练地掌握,一拖 ...

  5. 大一下 暑假 大二上学期规划

    还有几天暑假就要结束鸟~~~~~~~~~国际惯例,做个样子,写个总结. 大一这一年过得很快,出乎我意料的快,快到我觉得好像什么也没有体验过就结束了. 我的大一,平淡,真的很平淡,没有什么波澜.甚至让我 ...

  6. 飞机订票系统 python实现(大二上数据结构课设)

    说明: 本博客是从课设报告中截取的重要部分.这个飞机订票系统是本人大二上的数据结构课设,功能相对完善,界面相对美观.图形界面,本来想用Qt5(python中一个图形界面的类库,风格偏向于win10)去 ...

  7. 大二上学期总结计算机专业,计算机学生的大二第二学期自我总结-自我总结

    计算机学生的大二第二学期自我总结-自我总结 一个学期很快就过去了,但这次的心情与以前有很大不同,归心似箭的心情早被考试不理想的惆怅所掩盖.想想若是考的不好如何向父母交代?尤其这次我为了应付英语四级着实 ...

  8. 大二上学期 学习计划

    我感觉我大一自己也过的浑浑噩噩的,除了刷了绩点什么事情都没有干.而且绩点也不是太高.找到自己感兴趣的方向,去学习吗?谁知道以后会怎么样呢.暑假还剩下二十多天,还是和以前一样,明天就回学校吧.学习c++ ...

  9. 大二上学期计算机学什么,大二上学期学习计划

    时间飞逝,不知不觉中就度过了大一,从一个新生,变成了学姐.整整一年看似忙忙碌碌,实则收获甚浅.由此我总结出了以下几个原因:学习目的不明确:学习时间安排不合理:学习效率低下等.针对上学年自己所得的经验教 ...

最新文章

  1. 远程连接MySQL慢的原因及解决
  2. SEO基础知识8大精华文章之第三篇 SEO的历史(连载)
  3. 8086 汇编指令手册查询(转)
  4. C#-数组定义及使用数组的好处 046
  5. bh1750采集流程图_重大更新:STM32空气监测仪,OneNET物联网平台实时查看(原理图、PCB源文件、程序源码等)...
  6. 在CentOS上安装Docker
  7. Java多线程 5 多线程其他知识简要介绍
  8. Creating and Interning Symbols
  9. 怎样把PDF换成EXCEL
  10. vue slot的使用介绍
  11. 计算机维修报价,求一张电脑维护维修价格表
  12. 联想U310刷白名单更换无线网卡纪实
  13. 酒店管理系统java实现
  14. python给csv文件添加表头
  15. 代理服务器不等于路由器【芝麻代理】
  16. Pega How To系列之一:如何在页面上动态显示/隐藏内容 ----by Cheney Wang
  17. nodeJS实现简单网页爬虫功能
  18. Unit 1: Packet Sniffing 1.1 Packet Sniffing Introduction to Packet Sniffing
  19. 剪映导出帧率选多少_剪映帧率是什么 剪映帧率在哪设置
  20. Altium Designer 18安装教程(内含crack和package)

热门文章

  1. 在微信、支付宝、百度钱包实现点击返回按钮关闭当前页面和窗口
  2. php barcode_php 生成条形码
  3. 多智能体深度强化学习 # MADDPG
  4. PPT批量删除相同位置图片(非母版)的野路子
  5. 一个女孩的工作经历告诉我们
  6. Qt串口通信实时曲线上位机源代码
  7. 2019.07.01-2019.08.01 软件测试实习生月报
  8. 海报设计师必做3件事
  9. matlab导入表格画图,matlab从excel表格导入数据画图-在matlab上如何导入excel表格然后画图...
  10. Python爬虫天气预报(小白入门)