IEEE-754是由电子与电气工业协会制定的一整套浮点数表示的标准。本文主要分析最常用的binary32(单精度),binary64(双精度可以此类推)。


  Binary32占用存储器4bytes,可以表示最大数值(2−2−23)×2127≈3.402823×1038,相比之下,int32(有符号32位整型数)可以表示到2-31-1=2,147,483,647。在同样的存储宽度下,binary32表示的范围是int32的158,456,293,939,825,284,266,763,033,469.56倍。


  Binary32存储结构如下:



  Hex:0x419C0000

  二进制表示为


  十进制表示为


  value=(-1)0×2(131-127)×(1+2(-3)+2(-4)+2(-5)=(19.5)10

  因此,对于每一个浮点数来说,主要有两个部分构成:指数部分和尾数部分。


  指数部分有两个特例:即0x00和0xFF

  当为0x00时适用如下:(-1)signbit×2-126×0.significandbits即表示±0.0。此时,尾数部分没有实际的意义。


  当为0xFF时表示±infinity。

  尾数部分0~11111111111111111111111b

  各位的权值如下:

  bit23=1为了节省存储空间此位为隐藏位;

  bit22=0.5

  bit21=0.25

  bit20=0.125

  bit19=0.0625

  bit18=0.03125

  .

  .

  bit0=0.00000011920928955078125

  一个整型数,如果用IEEE-754表示可能会有误差。

  [-224,224]=[-16777216,16777216],没有误差。

  [-225,-224]=[-33554432,-16777217]或[16777217,33554432],向2倍数舍入。

  [-226,-225-1]或[225+1,226],向4的倍数舍入。

  …

  [-2127,-2126-1]或[2126+1,2127],向2103的倍数舍入。

  [-2128,-2127-1]或[2127+1,2128],向2127-23的倍数舍入。

  value≤-2128或value≥2128,向∞舍入。


  要注意数据转化时带来的系统误差,如要克服,就需要综合考虑。


  计为超声波液位计在测量过程中,由于液位的测量要计算声波来回的时间差,而时间差的测量要用到当前环境下的声速。而环境的不同导致声速的不同,在用不同尾数表示声速时,会带给系统一定的误差。为了减小这种系统误差,声速的计算采用的是64bit双精度,保证在计算距离的时候,使公式本身带来的系统误差最小,也整体提高了测量的精度。

  同样的例子,输出的4~20mA电流的数值,也需精准表示。在使用当前的距离计算液位,再根据液位计算电流值的情况下,如果使用尾数少的小数表示,可能一次的计算误差几乎可以忽略不计,但经过多次级联的运算后,带来的误差便不可忽视。一些特殊的情况下,可能还会直接影响到测量的精度,为了保证高精度液位的测量,选用双精度是明智的选择。

引用地址:IEEE-754浮点格式应用分析

上一篇:超声波液位计液位测量软件的框架
下一篇:功率放大器基于声振响应法的香梨硬度无损检测

推荐阅读

随着尼康与佳能接连推出旗下的全画幅单电产品,似乎全画幅单电将引领未来的趋势。早先只有索尼一家厂商在此方向上努力,而佳能、尼康的加入,一定会为其注入更多新鲜的力量。近日,根据韩国Seeko.kr论坛中一名用户的曝料,三星公司正在研发一款全画幅的COMS传感器,并且目前已经进入正式投产前的产品试制阶段。  据悉这款全画幅CMOS传感器或将于明年开始...
vivo NEX 3 5G在vivo官网开启预约。  预约页面展示了历代NEX系列带来的创新:  1、2018年6月12日,NEX一代首创升降式摄像头,开启手机“零界全面屏”时代;  2、2018年12月11日,NEX双屏版独创星环柔光灯,开启全新双面屏设计;  3、2019年9月,NEX 3 5G更多惊喜敬请期待。  据悉,vivo NEX 3 5G首发瀑布屏,其最大特色是曲面屏...
无人机用户们喜欢飞哪里?来自美国核管理委员会的报告显示,核电站甚至核禁区居然颇受欢迎。自2014年12月统计开始到2019年10月,该委员会共记录了57次与无人机擅闯核电站有关的事件。这些事件中绝大多数已经结案,还有3起尚未结案,也就是没有找到飞手或者无人机踪迹而放弃了搜索。统计的24处核设施地点中,只有12处被无人机造访过一次,其它都是多次。其...
1、设计需求及目标具有温度上下限范围,并可以手动调整;初始化后显示温度信息与上下限信息;模数转换芯片使用分辨率10位以上A/D芯片;采用液晶显示;2、设计思路及方案本设计以51系列单片机STC89C52为控制核心,以液晶显示模块、键盘为人机接口,负温度系数热敏电阻器(NTC)为采样传感器,实现了一个基于51单片机的热敏电阻测温设计。

史海拾趣

问答坊 | AI 解惑

南通富士通:明年封测规模将达90亿块

南通富士通:明年封测规模将达90亿块 2006-8-31  来源: 点击次数:79       南通富士通是国内最早由单纯提供封装加工转变到大规模提供从芯片测试到封装,再到成品测试一条龙代工服务的集成电路制造企业。2006年公司已经形成 ...…

查看全部问答∨

DSP 3.3V 和1.8V上电顺序

DSP所需电源有 3.3V 和1.8V ,如果用不同的电源供电,电源的上电顺序是有特殊要求吗?…

查看全部问答∨

wince 实现SIP IME的问题

我自己挂在SIP下实现了一个输入法,在我的输入法界面上有一个功能按钮是退出输入法,目前我可以实现的是隐藏输入法,也可以返回到应用的edit控件,但我的edit控件是在收到on_setfocus的时候调用SipShowIM(SIPF_ON)来打开我的输入法,而在输入法自 ...…

查看全部问答∨

MP3软件开发问题

小弟初接触MP3, 想了解一些开发的问题: 1.开发流程 2.编译、调试、烧录步骤 2.那些变量是自己申请的 3.界面图片是怎么调用的 4.多线程是怎么实现的 5.一般有那些BUG 6.文件怎么读取 7.一般数组需要多大空间…

查看全部问答∨

STM8S准备什么时候推出带FSMC型号的?

                                  …

查看全部问答∨

有关晶振问题

我使用MSP430F1101,在电源电压2.5V的时候,发现使用DCO时程序运行正常,但使用外部6MHz晶振时,OFIFG位一直不复位,查外部晶振已振荡。将程序强制使用外部晶振时死机,请问MSP430F1101在2.5V时是不是不能工作在6MHz,还是我的程序有问题? do{ ...…

查看全部问答∨

测一个电机的转速有什么好的方法啊

测一个电机的转速有什么好的方法,请高手指点一下吧…

查看全部问答∨

2 PIN current loop sensors是一种什么样的传感器

原文是这样描述的:2pin current loop sensors(ABS-type with 7/14mA output signal)。请问这款传感器的原理或资料,谢谢…

查看全部问答∨

关于f28027的ram的求助

最近在学dsp,自己写了一个cmd文件,但一直出错,Error: Can\'t write to data memory 0x3F8800, check memory config [-2184] 一直在找原因,看ti的文档,发现f28027一共只有6k SARAM,但是发现他给的memory map,里面有两个L0 SARAM(4k),而 ...…

查看全部问答∨
小广播
最新测试测量文章

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

电子工程世界版权所有 京ICP证060456号 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved