「计算机组成原理」机器数的顶点表示和浮点表示

前言:阅读此文需要掌握原码,补码,反码,移码,真值相关的基础知识点。

part 1:定点表示法

先来了解一个概念—机器数。什么是机器数呢?一个数在计算机中的二进制表示形式就被称为机器数。

例如,若一个字节为8位,则+5可以表示为00000101,若取负,则将首位0变为1即可。那么这两个便被称为机器数。

何为定点呢?就是将小数点进行固定,也就是说将小数点的位置约定俗成地隐含掉。

定点表示有两类,定点小数与定点整数。

先来谈谈定点小数吧。watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETkDmraPlnKjliqrlipvlrabkuaDnmoTkuJ7lrZA,size_20,color_FFFFFF,t_70,g_se,x_16

定点小数即纯小数,小数点的位置固定在符号位之后,最高有效数位之前。

看懂了上面的图,那么也就不难推出以下两点

watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETkDmraPlnKjliqrlipvlrabkuaDnmoTkuJ7lrZA,size_20,color_FFFFFF,t_70,g_se,x_16 

watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETkDmraPlnKjliqrlipvlrabkuaDnmoTkuJ7lrZA,size_20,color_FFFFFF,t_70,g_se,x_16 

第三个数的位权写错了,应该是负二次方,注意一下。

 

符号位取0,后面则作为纯小数按照要求进行取1取0,再通过所标明的位权进行换算成为真值。

 

由于负数补码原码不同,那么我们就要分开讨论了。

watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETkDmraPlnKjliqrlipvlrabkuaDnmoTkuJ7lrZA,size_20,color_FFFFFF,t_70,g_se,x_16

综上所述,若机器字长为N+1位,那么得出如下结论

watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETkDmraPlnKjliqrlipvlrabkuaDnmoTkuJ7lrZA,size_20,color_FFFFFF,t_70,g_se,x_16 

那么搞懂了定点小数,就来康康定点整数吧。

定点整数为纯整数,小数点位置隐含在最低有效数位之后,如图例

watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETkDmraPlnKjliqrlipvlrabkuaDnmoTkuJ7lrZA,size_20,color_FFFFFF,t_70,g_se,x_16 

有了这些认识那么就可以很轻松的得到以下推论,当机器字长为n+1位时有watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETkDmraPlnKjliqrlipvlrabkuaDnmoTkuJ7lrZA,size_20,color_FFFFFF,t_70,g_se,x_16

watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETkDmraPlnKjliqrlipvlrabkuaDnmoTkuJ7lrZA,size_20,color_FFFFFF,t_70,g_se,x_16 

 

 

 

watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETkDmraPlnKjliqrlipvlrabkuaDnmoTkuJ7lrZA,size_20,color_FFFFFF,t_70,g_se,x_16 

 那么到这里,就可以引入新的知识点,浮点表示法啦

因为在科学计数法里面,计算机需要处理的基本都是混合数,如果仍然沿用上述的定点表示,就需要设定比例因子等方法来进行运算,而且难以兼顾数值范围与非常重要的运算精度问题。所以我们需要浮点数来进行计算。

watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETkDmraPlnKjliqrlipvlrabkuaDnmoTkuJ7lrZA,size_20,color_FFFFFF,t_70,g_se,x_16

watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETkDmraPlnKjliqrlipvlrabkuaDnmoTkuJ7lrZA,size_20,color_FFFFFF,t_70,g_se,x_16 

在大多数计算机中,尾数都是纯小数,常用补码或原码来表示。阶码为纯整数,常用移码或补码来表示。而r通常情况下为2。

watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETkDmraPlnKjliqrlipvlrabkuaDnmoTkuJ7lrZA,size_20,color_FFFFFF,t_70,g_se,x_16 

那么就可以有以下推论啦watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETkDmraPlnKjliqrlipvlrabkuaDnmoTkuJ7lrZA,size_20,color_FFFFFF,t_70,g_se,x_16

 

 

watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETkDmraPlnKjliqrlipvlrabkuaDnmoTkuJ7lrZA,size_20,color_FFFFFF,t_70,g_se,x_16 

内容大体就到这里了,还是很简单的,还有最后一个需要注意的地方,规格化浮点数。

为了提高运算精度,所以需要充分利用尾数的有效数位,所以会规定尾数的最高位必须得是一个有效值。

 规格化要求:原码  最高数位均为1。

                        补码  最高数位与符号位不同即可。

要注意在尾数进行调位时阶码也要有相应的变化哟。

watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETkDmraPlnKjliqrlipvlrabkuaDnmoTkuJ7lrZA,size_20,color_FFFFFF,t_70,g_se,x_16

好了,大体上就到这里了,其实还有一个IEEE754标准浮点数,想起来就单独写一篇吧。 

 

 

 

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值