一、定义:什么是IEEE754

浮点数在C/C++中对应float和double类型,我们有必要知道浮点数在计算机中实际存储的内容。

IEEE754标准中规定float单精度浮点数在机器中表示用 1 位表示数字的符号,用 8 位来表示指数,用23 位来表示尾数,即小数部分。对于double双精度浮点数,用 1 位表示符号,用 11 位表示指数,52 位表示尾数,其中指数域称为阶码。

IEEE754规定:

  1. 单精度浮点数字长32位,尾数长度23,指数长度8,指数偏移量127;双精度浮点数字长64位,尾数长度52,指数长度11,指数偏移量1023;
  2. 约定小数点左边隐含有一位,通常这位数是1,所以上述单精度尾数长度实际为24(默认省略小数点左边的1则为23),双精度尾数长度实际为53(默认省略小数点左边的1则问53);

下面讲述使用IEEE754标准表示浮点数:

  1. 176.0625表示为单精度浮点数:

解:

1).先将176.0625转换为二进制数

小数点前: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    商为0,结束。

小数点前整数转换为二进制:10110000  

小数点后:小数部分乘以2,取整数部分,直至乘积小数部分为0   
0.0625 * 2 = 0.125   整数为0                 
0.125 * 2 = 0.25     整数为0             
0.25* 2 = 0.50       整数为0             
0.5* 2 = 1.0 整数为1,小数部分为0,结束

小数点后的小数位转换为二进制:0001

 故176.0625转换为二进制为:10110000.0001

2).IEEE754约定小数点左边隐含有一位,通常这位数是1,所以10110000.0001=1.01100000001 *  2^7(小数点向左偏移7位);

IEEE754约定单精度指数偏移量为127,所以176.0625使用IEEE754标准表示时,指数偏移量为 7+127=134 ,即:10000110

IEEE754约定单精度尾数长度为23,所以176.0625使用IEEE754标准表示时,尾数为:01100000001000000000000

176.0625>0,即为整数,所以符号位为0

3)由上得出:176.0625使用IEEE754规格化后的表示为:0  10000110 01100000001000000000000

二、解析

typedef union
{float a;char b[4];
}Packet;
Packet packet;void IEEE2Float(void)
{u8 i=0;u32 Temp32;float f_Temp;Temp32=0x435C0000;for(i=0;i<4;i++){packet.b[i] =(u8)(Temp32>>(i*8));}f_Temp=packet.a;
}

三、链接

IEEE754介绍

IEEE754解析方法

IEEE754数据格式介绍和解析方式(超权威)相关推荐

  1. Android系统 (190)---Android:JSON 简介 amp; 解析方式 讲解(Gson、AS自带org.json、Jackson)

    Android:JSON 简介 & 解析方式 讲解(Gson.AS自带org.json.Jackson) 前言 现今最主流的数据交换格式 非 JSON莫属 今天,我将全面介绍 JSON &am ...

  2. 将html代码确析成json数据格式,JSON字符串解析成JSON数据格式

    在JS中将JSON的字符串解析成JSON数据格式,一般有两种方式: 1.一种为使用eval()函数. 2. 使用Function对象来进行返回解析. 使用eval函数来解析,并且使用jquery的ea ...

  3. xml介绍与解析,及xml库包使用

    欢迎大家关注笔者,你的关注是我持续更博的最大动力 原创文章,转载告知,盗版必究 xml介绍与解析,及xml库包使用 文章目录: 1 XML简单介绍 1.1 XML简单介绍 1.2 XML语法结构 2 ...

  4. 电路图符号大全_电工必备电路图符号大全 图解复杂电路图解析方式 值得收藏!...

    这篇文章基本讲解所有的电路图符号,看完基本都能明白,希望看完多多转发,多多收藏,让更多的人也能学习到一些专业知识.不过小编在这提醒大家,安全一定要放在首位,任何不安全的情况下都不要去尝试,电是无情的, ...

  5. 常用的数据交换格式有哪些_高程数据格式介绍

    高程数据格式介绍 1 概述 目前业内常用的地形数据格式有img,tif,grp及dem,其中dem在地形表达中能力最强,效果最好,本文围绕dem的数据格式进行介绍. 2 DEM简介 数字高程模型(Di ...

  6. Android初级教程:Android中解析方式之pull解析

    在安卓中有很多种解析方式.按照大方向有xml解析和json解析.而,细致的分,xml和json解析各有自己的很多解析方式.今天这一篇主要介绍xml解析中的pull解析.对于xml的解析方式,我之前在j ...

  7. BCC实例(如何修改NS解析方式为百度智能云解析) - 解答篇

    文章目录 一.步骤: 二.部分步骤 · 截图示下: 三.添加解析方式: 四.附:解析记录类型含义 一.步骤: 进入百度智能云 后台控制台 "域名服务BCD" ; 进入 " ...

  8. 剖析CWE视图的层次定义和解析方式

    摘要:CWE做为软件缺陷分类的重要标准, 对安全研究.安全标准.缺陷管理起了重要的纽带作用.CWE通过编号的类型(类缺陷.基础缺陷和变种缺陷等)形成了多层次的缺陷类型划分体系.本文进一步剖析了CWE视 ...

  9. 输入2个正整数lower和upper(lower_题库 | 华为研发工程师编程题型介绍及解析 第 2 期...

    题目1:给定两个已经升序排序好的的序列 A={a1,a2,a3,-an} 和 B={b1,b2,b3-bn} ,一个数 R,找出满足以下条件的的(ai,bj)序列对. 1.ai<=bj 2.bj ...

最新文章

  1. python版本选择-【小白学python】之一:版本选择
  2. 【c++】8.map和vector容器查找、删除指定元素、emplace、insert
  3. 您没有权限来打开应用程序_苹果建议:除非应用程序无响应,否则不要滑动强制退出...
  4. 考研失败了,该何去何从?
  5. Java基础 —— 变量,选择,循环,数组,输入与输出等
  6. 如何使用Elixir和Phoenix快速入门构建CRUD REST API
  7. EditThisCookie使用
  8. 大学物理实验长度的测量实验报告_大学物理实验教案长度和质量的测量两篇
  9. linux 进程和线程或线程和线程之间通过管道通信(pipe)
  10. 出现画面抖动_手机拍照时模糊,抖动?赶紧来拯救你的拍摄技术吧!
  11. SQL 分类汇总 合计行
  12. 性能分析:处理器、磁盘I/O、进程、网络分析方法 http://www.cnblogs.com/fnng/archive/2012/10/30/2747246.html...
  13. 广工drcom用openwrt极路由破解小记
  14. 动态平衡网格交易_网格交易 套利:期货经典书籍
  15. 没想到吧!玩游戏还能学习编程,这15款编程游戏你一定要看看
  16. el upload ajax,Upload 上传 el-upload 上传配置请求头为Content-Type: multipart/form-data
  17. H5+JavaScript 剪刀石头布小游戏完整代码
  18. [AGC056E]Cheese
  19. 腾讯放大招,首张区块链发票亮相深圳,日后发票报销几分钟搞定
  20. ai绘画有哪些软件,盘点三款免费且超级好用的AI绘画工具

热门文章

  1. 动态链接库加载失败,可能解决方法。。。。
  2. 软件测试-按测试阶段/对象/测试手段分类
  3. XJOI1133百鸡问题
  4. Goahead嵌入式linux移植资料整理
  5. 替代松翰sn8p2711,153系列主控IC
  6. Mathpix Snip : 一个很使用的公式识别软件
  7. 在线视频:模拟电子技术,电力电子技术
  8. 【数据库】02 SQL语句
  9. 100元的C 软件开发培训班
  10. 【转载】Win10/11 更改 WSL Docker Desktop 存储路径