十进制 -> 二进制

将整数部分和小数部分分开处理

例:3.125(10)
其整数部分为11(2)

小数部分按照下面的步骤求解:

  1. 0.125 x 2 = 0.25 取0
  2. 0.250 x 2 = 0.50 取0
  3. 0.500 x 2 = 1.00 取1

当小数部分都为0的时候结束
得到.001(2),合并整数部分得11.001(2)

二进制 -> 十进制

  1. 十位:1 x 21 = 2
  2. 个位:1 x 20 = 1
  3. 十分之一位:0 x 2 -1 = 0
  4. 百分之一位:0 x 2 -2 = 0
  5. 千分之一位:1 x 2 -3 = 0.125

全部相加得到3.125(10)

浮点数的表示法——IEEE 754标准

将3.14分别按照32位单精度和64位双精度表示

整数部分11(2)

32位单精度:

小数部分
01 : 0.140000 x 2 = 0.280000 取0
02 : 0.280000 x 2 = 0.560000 取0
03 : 0.560000 x 2 = 1.120000 取1
04 : 0.120000 x 2 = 0.240000 取0
05 : 0.240000 x 2 = 0.480000 取0
06 : 0.480000 x 2 = 0.960000 取0
07 : 0.960000 x 2 = 1.920000 取1
08 : 0.920000 x 2 = 1.840000 取1
09 : 0.840000 x 2 = 1.680000 取1
10 : 0.680000 x 2 = 1.360000 取1
11 : 0.360000 x 2 = 0.720000 取0
12 : 0.720000 x 2 = 1.440000 取1
13 : 0.440000 x 2 = 0.880000 取0
14 : 0.880000 x 2 = 1.760000 取1
15 : 0.760000 x 2 = 1.520000 取1
16 : 0.520000 x 2 = 1.040000 取1
17 : 0.040000 x 2 = 0.080000 取0
18 : 0.080000 x 2 = 0.160000 取0
19 : 0.160000 x 2 = 0.320000 取0
20 : 0.320000 x 2 = 0.640000 取0
21 : 0.640000 x 2 = 1.280000 取1
22 : 0.280000 x 2 = 0.560000 取0
23 : 0.560000 x 2 = 1.120000 取1
……

显然,对0.14的转换是没有尽头的,对这样“无限不循环”的小数,只需按照单精度标准,保留23位。


.00100011110101110000101

合并起来就是
11.00100011110101110000101

按尾数的要求转换:
1.100100011110101110000101 x 21

阶码E = 1 + 127 = 128,有效数字M = 1.1……01

有效数字位因为1 <= M < 2,舍去整数位的1,存储小数点后24位的值
1001 0001 1110 1011 1000 0101 (第24位0舍1入)
1001 0001 1110 1011 1000 011

最后得到32位单精度模式下3.14在计算机中的存储形式(float类型)

0 1000 0000 1001 0001 1110 1011 1000 011

64位双精度:

对0.14进行转换,按照64位双精度标准,保留52位。

.0010001111010111000010100011110101110000101000111101

合并得
11.0010001111010111000010100011110101110000101000111101

按照尾数要求转换:
1.10010001111010111000010100011110101110000101000111101 x 2 1

阶码E = 1 + 1023 = 1024,有效数字M = 1.1……01

有效数字位:因为1 <= M < 2,舍去整数位的1,存储小数点后53位的值
1001 0001 1110 1011 1000 0101 0001 1110 1011 1000 0101 0001 1110 1(第53位0舍1入)
1001 0001 1110 1011 1000 0101 0001 1110 1011 1000 0101 0001 1111

最后得到64位双精度模式下3.14在计算机中的存储形式(double类型)

0 1000 0000 000 1001 0001 1110 1011 1000 0101 0001 1110 1011 1000 0101 0001 1111

总结

将十进制小数用IEEE 754表示时,若遇到诸如3.14这种“无限不循环”的小数,单精度模式下,十进制转二进制的循环进行到小数点后24位即可;双精度模式下,进行到小数点后53位即可。以“满1进位”的原则舍去多出来的第24位和第53位。

小数的十进制和二进数转换 “无限不循环”小数的IEEE 754表示相关推荐

  1. 进制转换【最全进制转换汇总】(整数_小数_正数_负数)正负数整数小数十进制转任意进制-正负数整数小数任意进制转十进制-正负数低进制转高进制-正负数高进制转低进制

    文章目录: 补充知识点:各进制符号表示及其关系--二进制(B).八进制(O).十进制(D).十六进制(前缀OX,后缀H) 扩展:在线进制转换 第一部分:正数 一:[整数]正数十进制转任意进制:辗转相除 ...

  2. java 进制转换 十进制转二,八,十六进制

    十进制转其他进制 因为在java中位运算符是直接对数值的二进制数进行操作的 并且 写的是二进制数在输出和操作时是以十进制数的形式: 所以十进制转二,八,十六进制:就已经实现了二进制,八进制,十进制,十 ...

  3. [数制与码制]: 有关十进制转换和二进制负数小数补码表示

    文章目录 关于十进制转换 关于二进制负小数补码表示 关于十进制转换 数电第一课,关于各进制数的转换:2,8,16进制的转换也不用说什么,主要是关于10进制转换其他进制会麻烦一点: 而在这之间,由其他进 ...

  4. C语言取字节的第n二进制,学C语言的看过来,最完整进制转换、整数和小数内存存储模型...

    什么是进制 进制也就是进位计数制,是人为定义的带进位的计数方法.对于任何一种进制---N进制,就表示每一位置上的数运算时都是逢N进一位. 数数相信大家都会了,比如0 1 2 3 4 5 6 7 8 9 ...

  5. java十进制转二进制(输入一个十进制数将其转换成二进制)

    十进制数转二进制数,跟据不同的开发语言其转换方式有很多,在Java中如果相把一个十进制的整数来转换成二进制那是举手之劳,非常简单,只要用Integer.toBinaryString(int)方法就可以 ...

  6. 十进制与二进制之间转换详解

    文章目录 十进制与二进制之间转换详解 (一)十进制数转二进制数 1.1 十进制正整数转二进制 1.2 十进制负整数转二进制 1.3 十进制小数转二进制数 (二) 二进制数转成十进制数 2.1 二进制整 ...

  7. 小数的十进制转二进制

    小数的十进制转二进制 小数点之后用乘2取整法: 如0.5(D) = 0.1(B).        按照如下计算方法: 1. 首先给小数部分乘2,如果小数点前为 1则记1;为0,则记0: 2. 在对剩下 ...

  8. 十进制小数化为二进制小数的方法是什么_二进制和十进制之间的互相转换

    说到十进制和二进制的转换,明明之前学会了,但是许久不用就觉得好像忘记方法了.希望做好这个笔记后能够牢牢记住 十进制转换为二进制 十进制转二进制分为整数转二进制,和小数转二进制 整数转二进制 采用&qu ...

  9. 点分十进制IP校验、转换,掩码校验

    /****************************************************************************** 点分十进制IP校验.转换,掩码校验* 声 ...

最新文章

  1. 一步一步学Silverlight 2系列(3):界面布局
  2. freebsd php 编译 mysql sql2005_问下:Freebsd下用php连接ms sql server
  3. excel单元格调用mysql数据_Excel 使用单元格的值 查询MySQL数据库并返回数据给相应的单元格...
  4. 让 FileUpload 文本框只读
  5. android+5.0+小米手环,小米手环5和荣耀手环6哪个好-参数对比
  6. 自已脚本开发常用的底层方法
  7. t7910安装linux体会_LINUX学习心得体会
  8. 使用sqrt函数开根号:
  9. Spring boot整合人大金仓(KingBaseEs)国产数据库
  10. YY前端HTML规范
  11. 日积(Running)月累(ZSSURE):Learning How to Learn,学习习惯
  12. 程序员30+后的困惑焦虑,出路在哪里?
  13. MetaSploit攻击实例讲解------终端下PostgreSQL数据库的使用(包括kali linux 2016.2(rolling) 和 BT5)...
  14. php爬取百度关键词时出现,百度安全验证,解决方法
  15. AD7606 SPI模式 网上问题汇总
  16. Linux在安装文件时,yum基本配置出现错误
  17. EPLAN 接线端子
  18. 微前端架构实现(项目引入,消息总线,构建部署,监听服务)
  19. Google 百度 图标收藏(二)
  20. [软考]之原码、反码、补码和移码

热门文章

  1. 社区团购-v.1.6.0更新
  2. 【网络教程】Chrome浏览器显示半透明的问题怎样解决
  3. 亚马逊listing优化的6大技巧,提高你的销售量
  4. 【ICPC-212】hdu 4771 Stealing Harry Potter's Precious
  5. debain 、pve虚拟化平台修改国内源并修改dns
  6. 基于bio手写实现简单的rpc
  7. 管理信息化服务的趋势与发展
  8. UE4-(场景)后期盒子(PostProcessVolume)之Lens中的色差(Chromatic Aberration)及泛光(Bloom)
  9. 到底是什么让我对学习如此上瘾?
  10. 【数据库】以sqlserver数据库为例,讲解sql语句的修改列(万字长文详细讲解)