浮点数如何在计算机中表示
2017-11-03 14:23
731 查看
原文地址:浮点数如何在计算机中表示作者:乾坤有数 根据IEEE
754标准,浮点数的表示形式如下:
![](http://simg.sinajs.cn/blog7style/images/common/sg_trans.gif)
其中,S为数的符号位,为0时表示正数,为1时表示负数;P为阶码,通常用移码表示;M为尾数,用原码表示。目前,计算机中主要使用三种形式的IEEE
754浮点数,如下表所示
![](http://simg.sinajs.cn/blog7style/images/common/sg_trans.gif)
在IEEE
754标准中,约定小数点左边隐含有一位,通常这位数就是1,因此单精度浮点数尾数的有效位数为24位,即尾数为1.xx...x。
下面利用IEEE 754标准将数176.0625表示为单精度浮点数:
第一步,将176.0625表示为二进制数,即(176.0625)10
= (10110000.0001)2
1. 整数转化为二进制
176/2=88...0(余数)
88/2 =44...0
44/2 =22...0
22/2 =11...0
11/2 =5 ...1
5/2 =2
...1
2/2 =1
...0
1/2 =0
...1
将余数按从下往上的顺序书写就是:10110000
2.小数部分转化为二进制
0.0625*2=0.125...0(整数)
0.125*2 =0.25 ...0
0.25*2
=0.5 ...0
0.5*2
=1.0 ...1
将整数按从上往下的顺序书写就是:0001
第二步,对二进制数进行规格化处理,即10110000.0001 =
1*01100000001x2^7(*为小数点所在位置,在计算
机中只取小数点后面的位存入尾数区)
第三步,将最高位去掉,并扩展为单精度浮点数所规定的23位尾数,得到尾数01100000001000000000000
第四步,求阶码,上述表示中指数为7(即第二步中的7),用移码表示为10000110(7+127=134,127为偏移量)
第五步,将符号位、阶码与尾数合并起来,最终得到176.0625的表示形式
0 10000110 01100000001000000000000(其中空格是为了方便观看)
参考文献
1.张淑平. 程序员教程[M]. 北京:清华大学出版社,2009.
754标准,浮点数的表示形式如下:
![](http://simg.sinajs.cn/blog7style/images/common/sg_trans.gif)
其中,S为数的符号位,为0时表示正数,为1时表示负数;P为阶码,通常用移码表示;M为尾数,用原码表示。目前,计算机中主要使用三种形式的IEEE
754浮点数,如下表所示
![](http://simg.sinajs.cn/blog7style/images/common/sg_trans.gif)
在IEEE
754标准中,约定小数点左边隐含有一位,通常这位数就是1,因此单精度浮点数尾数的有效位数为24位,即尾数为1.xx...x。
下面利用IEEE 754标准将数176.0625表示为单精度浮点数:
第一步,将176.0625表示为二进制数,即(176.0625)10
= (10110000.0001)2
1. 整数转化为二进制
176/2=88...0(余数)
88/2 =44...0
44/2 =22...0
22/2 =11...0
11/2 =5 ...1
5/2 =2
...1
2/2 =1
...0
1/2 =0
...1
将余数按从下往上的顺序书写就是:10110000
2.小数部分转化为二进制
0.0625*2=0.125...0(整数)
0.125*2 =0.25 ...0
0.25*2
=0.5 ...0
0.5*2
=1.0 ...1
将整数按从上往下的顺序书写就是:0001
第二步,对二进制数进行规格化处理,即10110000.0001 =
1*01100000001x2^7(*为小数点所在位置,在计算
机中只取小数点后面的位存入尾数区)
第三步,将最高位去掉,并扩展为单精度浮点数所规定的23位尾数,得到尾数01100000001000000000000
第四步,求阶码,上述表示中指数为7(即第二步中的7),用移码表示为10000110(7+127=134,127为偏移量)
第五步,将符号位、阶码与尾数合并起来,最终得到176.0625的表示形式
0 10000110 01100000001000000000000(其中空格是为了方便观看)
参考文献
1.张淑平. 程序员教程[M]. 北京:清华大学出版社,2009.
相关文章推荐
- 计算机中如何表示数字-06浮点数
- 浮点数在计算机中是如何表示的
- 浮点数在计算机中的表示
- 理解有符号数和无符号数负数在计算机中如何表示
- 计算机浮点数 float 表示
- 计算机中浮点数的表示与IEEE 754
- 计算机中浮点数的表示
- 计算机浮点数 float 表示
- 计算机浮点数 float 表示
- 计算机上色彩如何表示
- 浮点数在计算机中的表示法与IEEE754 (转)
- 负数在计算机中如何表示
- 易忘__浮点数的计算机表示办法
- 【深入理解计算机系统】【浮点数的表示范围】
- 计算机中如何表示数字-01机器数与真值
- 浮点数在计算机内存中是如何存储的?
- 计算机中如何表示数字-02原码
- IEEE 754——计算机中浮点数的表示方法
- 请问如何用四个字节的十六进制表示一个float浮点数
- 计算机中的定点和浮点表示