浮点数如何在计算机中表示
2015-12-13 11:05
369 查看
根据IEEE
754标准,浮点数的表示形式如下:
其中,S为数的符号位,为0时表示正数,为1时表示负数;P为阶码,通常用移码表示;M为尾数,用原码表示。目前,计算机中主要使用三种形式的IEEE
754浮点数,如下表所示
在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(其中空格是为了方便观看)
转载:http://blog.sina.com.cn/s/blog_5fb3f1250100xodv.html
754标准,浮点数的表示形式如下:
其中,S为数的符号位,为0时表示正数,为1时表示负数;P为阶码,通常用移码表示;M为尾数,用原码表示。目前,计算机中主要使用三种形式的IEEE
754浮点数,如下表所示
在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(其中空格是为了方便观看)
转载:http://blog.sina.com.cn/s/blog_5fb3f1250100xodv.html
相关文章推荐
- 12月第1周网络安全报告:境内95.8万主机感染病毒
- 012 MATLAB复杂网络处理入门
- C++析构函数为什么要为虚函数 http://www.cnblogs.com/lixiaohui-ambition/archive/2012/07/13/2589716.html
- 牛客网 http://www.nowcoder.com/test/question/done?tid=2198842&qid=14753#summary
- C++和python使用struct传输二进制数据结构来实现
- 手把手入门神经网络系列(2)_74行代码实现手写数字识别
- 手把手入门神经网络系列(2)_74行代码实现手写数字识别
- 香橙派 orangepi 配置WPA2 无线网络
- 神经网络入门
- 程序员应该知道计算机基本原理
- 网络营销【淘宝宝贝主图】设计思路太原郭文军解说
- HTTP协议之 简易浏览器(3)--转载
- 数据结构和算法
- 蓝桥杯预选反思
- 网络编程基础(2) : 同步非阻塞
- 【Deep learning vs BPL】思考:complex => simple => rich
- 十五大原理之零三--TCP/IP的三次握手和四次断开原理
- [脑洞] 将机器学习运用到计算机储存图像上?
- AsyncHttpClient异步任务
- Javascript 精髓整理篇之三(数组篇)postby:http://zhutty.cnblogs.com