`
kenby
  • 浏览: 716750 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

浮点数的二进制表示-实例

 
阅读更多
/* 注意,形如2[3]表示2的3次方 */
实例一:38414.4 的IEEE浮点数表示法(double):
double型的指数域有11位,所以偏置值为 2[11-1]-1 = 1023
38414.4 = 1001011000001110.0110011001100110011001100110011001101 = 1.0010110000011100110011001100110011001100110011001101*2[15]
//0.4=0.5*0+0.25*1+0.125*1+0.0625*0+……没完没了,但小数域只需52位,整数部分已经有了15位,故小数部分只需取37位.
指数域 = (15+1023)B = 1000 0001 110
小数域 = 0010 1100 0001 1100 1100 1100 1100 1100 1100 1100 1100 1100 1101
最终表示:
0 1000 0001 110 0010 1100 0001 1100 1100 1100 1100 1100 1100 1100 1100 1100 1101
符号 指数域 (11) 小数域(52)
格式化为:
01000000 11100010 11000001 11001100 11001100 11001100 11001100 11001101

实例二: 234.5 的IEEE浮点数表示法(double):
double型的指数域有11位,所以偏置值为 2[11-1]-1 = 1023
234.5 = 11101010.1 = (1.11010101)*2[7]
指数域 = (7+1023)B = 1000 0000 110
小数域 = 1101 0101 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
//小数域需要52位,但11010101只有8位,不足就后面补0.
最终表示:
0 1000 0000 110 1101 0101 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
符号 指数域(11) 小数域(52)
格式化为:
01000000 01101101 01010000 00000000 00000000 00000000 00000000 00000000

实例三:3490593.0 的IEEE浮点数表示法(float):
float型的指数域有8位,所以偏置值为 2[8-1]-1 = 127
3490593.0 = 1101010100001100100001.0 = 1.1010101000011001000010*2[21]
指数域 = (21+127)B = 1001 0100
小数域 = 1010 1010 0001 1001 0000 100
最终表示:
0 1001 0100 10101010000110010000100
符号 指数域(8) 小数域(23)
格式化为:
01001010 01010101 00001100 10000100
分享到:
评论

相关推荐

    任意长度的两个浮点数的以乘法

    本程序实现了任意长度的两个浮点数的乘法,能够在VC6.0下编译通过并可以运行。另外程序中也附加了编程的思想、所遇问题及解决办法。希望能给你们一点帮助。

    C++大学教程

    2.10 构造算法与自上而下逐步完善:实例研究3(嵌套控制结构)--------------54 2.11 赋值运算符-------------------------------------------------------57 2.12 自增与自减运算符----------------------------...

    C/C++的浮点数在内存中的存储方式分析及实例

    任何数据在内存中都是以二进制的形式存储的,例如一个short型数据1156,其二进制表示形式为00000100 10000100。则在Intel CPU架构的系统中,存放方式为 10000100(低地址单元) 00000100(高地址单元),因为Intel CPU...

    c++ (二进制读写) 文件操作

    1.VS2010编译通过 2.C++ 3.文件写3个浮点数,英文字符,中文字符 ...5.基于MFC的实例 6.获取文件长度 7.修改文件内指针位置 8.如果没有VS2010,用记事本打开TestFileOperateDlg.cpp 看文档最下方的两个按钮响应函数

    node-bplist-creator:二进制Mac OS X Plist(属性列表)创建者

    二进制Mac OS X Plist(属性列表)创建者。 安装 $ npm install bplist-creator 快速范例 var bplist = require ( 'bplist-creator' ) ; var buffer = bplist ( { key1 : [ 1 , 2 , 3 ] } ) ; 实数/双数/浮点数处理...

    关于Python中浮点数精度处理的技巧总结

    出现上面的情况,主要还是因浮点数在计算机中实际是以二进制保存的,有些数不精确。 比如说: 0.1是十进制,转化为二进制后它是个无限循环的数: 0.00011001100110011001100110011001100110011001100110011001100 ...

    Python中的浮点数原理与运算分析

    本文实例讲述了Python中的浮点数原理与运算。...之所以会出现以上的结果,在于 Python (更准确地说是计算机硬件体系结构)对浮点数的表示,我们来看计算机(基于二进制)对十进制小数 0.1 的表示,十进制小数向二

    pycstruct:用于读取和写入二进制数据的python库,类似于在C语言结构中完成的操作

    pycstruct是一个python库,用于将二进制数据与普通python词典或特定实例对象之间进行转换。 数据的定义类似于在C语言结构,联合,位域和枚举中所做的操作。 该库的典型用法是通过网络传输的读/写二进制文件或二...

    C语言实例解析精粹(第二版) 光盘代码

    C语言实例解析精粹(第二版) 光盘代码 本文件包括以下内容: ※ 1、文件说明 ※ 2、源码操作说明 ※ 3、光盘目录清单 ◎ 源码操作说明 源代码使用方法是(以实例1为例): 将该实例的源码,比如实例1的1.c文件(可以...

    Matlab遗传算法工具箱函数及应用实例

    基于 语言的遗传算法工具箱支持二进制和浮点数编码方式 并且提供了多种选择 交叉 变异的方法 通过具体实例对 Matlab的遗传算法工具箱的用法进行了说明介绍!

    Java开发实战1200例(第1卷).(清华出版.李钟尉.陈丹丹).part3

    实例025 更精确地使用浮点数 35 实例026 不用乘法运算符实现2×16 37 实例027 实现两个变量的互换(不借助 第3个变量) 37 2.3 条件语句 38 实例028 判断某一年是否为闰年 38 实例029 验证登录信息的合法性 39 实例...

    Python语言程序设计_第三周

    二进制:以0b或者0B开头(0b010,-0B101) 八进制:以0o或者0O开头(0o123,-0O456) 十六进制:以0x或者0X开头(0x9a,-0X89) 浮点类型 与数学中实数的概念一致,带有小数点及小数的数字 浮点数取值范围和小数精度...

    多媒体算术编码

    小字母表:如二进制信源 概率分布不均衡 建模与编码分开 内容: 算术编码的基本思想 一些性质 实现 有限精度:区间缩放(浮点数/整数实现) 计算复杂度:用移位代替乘法二进制编码 自适应模型 QM编码器:自适应二...

    Linux od命令详细介绍及用法实例

    od命令主要用来查看保存在二进制文件中的值,按照指定格式解释文件中的数据并输出,不管是IEEE754格式的浮点数还是ASCII码,od命令都能按照需求输出它们的值。 大家也可以了解一下hexdump命令,以十六进制输出,但...

    vc++ 开发实例源码包

    6.右边窗口停止抓包后显示十六进制数 hyperlink 自绘CStatic,实现超链接。 iconbutton_demo 演示了多种自绘Button。 IDocHostUIHandler Extended CHtmlView 如题。 IM_毕业设计 聊天系统,操作了数据库,有...

    python(Mooc)–基本数据类型

    文章目录1.数字类型及操作1.1 整数类型1.2 浮点数类型1.3 复数类型1.4 数值运算操作符1.5 九个数值运算函数2.字符串类型及操作2.1 字符串类型的表示2.2 三个字符串操作符2.3 五个字符串处理函数2.4 八个字符...二进制:

Global site tag (gtag.js) - Google Analytics