【IEEE754制32位浮点数】与十进制相互转换

快速了解—IEEE754标准32位浮点数的转换 讲解IEEE754浮点数的转换方法,对浮点数的存储做了简单的介绍,快速掌握 阅读详情
AI摘要

本文介绍了如何将使用IEEE754标准的32位浮点数从二进制转换为十进制,通过解析符号位、指数位和尾数位,然后结合偏移量进行计算,最终得到十进制表示。同时,也概述了将十进制浮点数转换回IEEE754二进制表示的流程,包括符号位确定、二进制浮点数转换及指数计算等步骤。

IEEE754制32位浮点数转换为十进制

首先了解一下IEEE754制32位浮点数的存储方式
请添加图片描述

一个由IEEE745制的32位浮点数由三部分组成

组成部分位数含义
符号位1位0为正,1为负
指数位2~9位类比十进制的科学计数法,此处以2为底,指数位为幂。注意还需要加上127的偏移量
尾数位10~32位省略了1. 实际为1.(尾数位),类似小数的二进制写法

(一)IEEE754制32位浮点数转为十进制

核心逻辑:
IEEE制浮点数 ⇒ \Rightarrow ⇒浮点数的二进制表示 ⇒ \Rightarrow ⇒浮点数的十进制表示

我们用例子来帮助理解
我们有一个用IEEE754二进制表示的32位浮点数: 0 1000 0011 0100 1000 0000 0000 0000 000, 求它所代表的十进制浮点数是多少?
第一步:
符号位为0 ⇛ \Rrightarrow ⇛正数

第二步:
尾数部分: 1.0100 1000 0000 0000 0000 000
将多余0舍去得1.01001

第三步:
指数位: ( 10000011 ) 2 (1000 0011)_2 (10000011)2​= ( 131 ) 10 (131)_{10} (131)10​
减去偏移量:131+(-127)=4

第四步:组合: 1.01001 × 2 4 = 10100.1 1.01001\times2^4=10100.1 1.01001×24=10100.1

至此已将IEEE制浮点转换为浮点数的二进制表示

最后再将其转换为十进制:
1 × 2 4 + 0 × 2 3 + 1 × 2 2 + 0 × 2 1 + 0 × 2 0 + 1 × 2 − 1 = 20.5 1\times 2^4+ 0\times2^3+1\times2^2+0\times2^1+0\times2^0+1\times2^{-1}=20.5 1×24+0×23+1×22+0×21+0×20+1×2−1=20.5

(二)十进制浮点数转为IEEE754制32位

核心逻辑:
十进制浮点数 ⇒ \Rightarrow ⇒二进制浮点数 ⇒ \Rightarrow ⇒IEEE制浮点数

我们用例子来帮助理解
已知一个浮点数34.625,求它IEEE754制32位二进制表示为多少?

第一步:
由正负确定IEEE制符号位,若正则为0,若负则为1
为正数:符号位可得,为0
请添加图片描述

第二步:
将十进制浮点数转为二进制浮点数。(可以参考这一篇文章带小数十进制转二进制–图解)
( 34.625 ) 10 = ( 100010.101 ) 2 (34.625)_{10}=(100010.101)_2 (34.625)10​=(100010.101)2​

第三步:
将得到的二进制浮点数转化为1.xxx的形式
100010.101=1.00010101 × 2 5 \times 2^5 ×25
则尾数位可得,为00010101

在这里插入图片描述

第四步:
加上偏移位127
x 10 x_{10} x10​= ( 5 ) 10 (5)_{10} (5)10​+ ( 127 ) 10 (127)_{10} (127)10​
x 10 x_{10} x10​= ( 132 ) 10 (132)_{10} (132)10​= ( 10000100 ) 2 (1000 0100)_2 (10000100)2​
指数位可得,为1000 0100,最后再用0补齐剩余位数至23位

在这里插入图片描述

IEEE 754标准下浮点转换:全面讲解32位布局 详解IEEE 754标准下32位单精度浮点数转换机制,剖析符号位、指数位与尾数位的布局规则,帮助理解浮点数在计算机中的精确表示与转换过程。 阅读详情

相关推荐

IEEE-754标准(32位) 十六进制转换十进制浮点数

因实验需要,读取陀螺仪的数据是16进制的数据,需要将该数据转化为10进制方便自己查看,理解。记录如下: 1.将(32位)16进制IEEE-754标准浮点数就是用十六进制表示浮点,称为单精度浮点数。 float类型在内存中占4个字节(32位),最高位用于表示符号;在剩下的31位中,从右向左了8位用于表示指数,其余用于表示尾数。(一个字节是8位) 对应关系如下: 符号位指数位尾数位 1位8位23位 举例:(1)IEEE-754标准浮点数表示为 404FC5...

m0_37957160的博客 3万+

IEEE754数据转换详解

IEEE二进制浮点数算术标准(IEEE 754)

w181108233的博客 6875

IEEE754浮点数转换应用:多格式表示转换工具

本文还有配套的精品资源,点击获取 简介:IEEE 754是计算机系统中浮点数的国际标准,描述了浮点数的二进制存储格式,包括单精度、双精度以及半精度和扩展精度格式。IEEE754Converter应用程序允许用户将IEEE 754格式的浮点数转换为十进制、科学记数法、二进制和十六进制等多种表示形式。该工具对于开发者和学生理解浮点数的内部工作原理特别有用,且兼容Android ...

weixin_31749299的博客 3889

32位浮点数转十进制与二进制

32位浮点数的第一位为S(符号位),代表正负符号。 后面八位代表指数 最后使用23位来代表有效数 那么将浮点数转10进制数计算时可以采用以下公式来计算: s为0代表正数,s为1代表负数。 e由浮点数转为十进制数时则需要减去127,以便省去指数的正负。也就是说可以表示2^(-127)~2^(128)。e=0和e=255用来表示特殊值。 取127的原因: 1)偏移值为127时,绝对值范围大致是:1.2*10^(-38)~3.4*10^(+38); 2)如果偏移值取为128时, 绝对值范围...

dada032的博客 8359

IEEE 754 单精度浮点数转换工具

IEEE 754 单精度浮点数转换工具,支持十进制与单精度浮点数/双精度浮点数之间的互相转换

十进制浮点数转IEEE754浮点数

十进制浮点数转IEEE754浮点数,利用C语言中的union

将十进制数转化成IEEE754格式

将十进制数转化成IEEE754格式 快期末考试了,在复习《计算机组成与系统结构》时对将十进制数转化为IEEE754格式这个知识点很困惑,怪自己在老师当初讲的时候没好好听讲,好在查阅了资料后弄懂了这个知识点,便记录下来给也有这个疑惑的同学给个参考,也便于日后自己温习。 新的改变 我们对Markdown编辑器进行了一些功能拓展与语法支持,除了标准的Markdown编辑器功能,我们增加了如下几点新功能,...

weixin_44229011的博客 1万+

卷积神经网络-猫狗识别(附源码)

利用python实现一个卷积神经网络,训练猫狗数据集,实现对猫狗图片的预测识别

m0_63223213的博客 2万+

十进制浮点数转换成IEEE754标准的32浮点数的二进制格式

在计算机中,使用IEEE 754规范可以确保浮点数的计算具有一致性和可重复性,同时也提供了一定程度的精度控制。然而,由于浮点数的精度有限,可能存在舍入误差和精度损失的问题,因此在一些关键性的计算场景中,需要谨慎处理浮点数运算。其中,单精度浮点数用32位表示,包括1个符号位、8个指数位和23个尾数位;双精度浮点数用64位表示,包括1个符号位、11个指数位和52个尾数位。根据这些位的排列方式,IEEE 754单精度浮点数能够表示大约7位有效数字的浮点数。:用于表示浮点数的正负,0表示正数,1表示负数。

2301_79470762的博客 2813

200smart 模拟量转换库的建立

模拟量当前值 =(工程值 - 工程量下限)*(模拟量上限 - 模拟量下限)/ (工程量上限 - 工程量下限)+ 模拟量下限2. 建立变量表3. 程序。

mmxxoo_xxmmp的博客 4213

BEVFusion实战:从零搭建LiDAR-Camera融合的3D目标检测环境(附避坑指南)

本文提供了BEVFusion实战指南,详细讲解如何从零搭建LiDAR-Camera融合的3D目标检测环境。内容涵盖环境配置、数据预处理、模型训练与性能优化等关键步骤,并附有实用的避坑技巧,帮助开发者高效部署这一先进的BEV感知算法。

p4q5r6s7t的博客 514

IEEE-754标准(32位)十六进制与十进制浮点数之间的相互转换

IEEE-754标准(32位)十六进制转十进制浮点数 #include<fstream> #include <sstream> #include <iostream> #include<math.h> using namespace std; double BtoD(string x) { double ans; int E = 0; double D = 0; for (int i = 1; i < 32; i++)

王学门徒 7249

openEuler 20.03 LTS面向RK3399移植系列(3)—openEuler 20.03 LTS面向Firefly RK3399的第一个版本(Linux kernel 4.4)

任务动机:完成openEuler面向RK3399开发板的移植。 任务描述:按照固件烧写准备,固件获取,固件打包和烧写的步骤实现openEuler面向RK3399开发板的移植,整理过程和相关命令记录到文档。 1. 制作openEuler的rootfs.img 1.1 开发环境 树莓派--openEuler系统 openEuler 20.03 LTS 的内测版本镜像,下载。 1.2 具体操作 1.2.1 ssh远程连接树莓派 确定树莓派IP ssh连接 1.2.2 制作rootfs.img

火种源码的机器人技术专栏 2366

IEEE-754标准浮点数,十六进制与十进制转换方法(附C代码)

https://blog.youkuaiyun.com/archersaber39/article/details/51422602/ 将20.163转换成754标准的32位浮点数 1.将十进制数转换成二进制数 十进制浮点数,整数部分转换成二进制,采用除2取余法,将余数从低到高排列,即为整数的二进制数; 小数部分转换成二进制,采用乘2取整法,将取整数顺序排列,即为小数的二进制数。 小数部分乘2直到小数部分为0,或取到想要的位数,或循环出现前。 整数部分 20/2=10 .... 0 10/2=5...

happylzs2008的专栏 1万+

深入解析数据通信中的码元速率与比特率:从基础到实战应用

本文深入解析了数据通信中的核心概念码元速率与比特率,通过生动的比喻和公式(比特率=波特率×log₂(M))揭示其本质关系。文章结合BPSK、QPSK、16QAM等调制技术,剖析了从4G/5G到LoRa等实战场景中如何权衡速率、距离与可靠性,并提供了软考真题解析与系统设计建议,帮助读者从理论到应用全面掌握数据速率优化。

weixin_29324877的博客 213

jira的详细使用教程

​jira的详细使用教程,1,Jira- 是一款缺陷管理软件工具,用其进行缺陷的管理和跟踪。(是B/S架构的软件) 2,主要涉及的角色: 3,具体工作流 添加工作流 1.点击项目设置

计算机毕业论文源码,学生个人网页制作html源码。贴近用户做网络推广和互联网优化。 3295

浮点数的转换--IEEE 754

小数部分:0.1247,不断乘以2,取整数部分,00011111111011001..., 因为位数不够,进行截断;3. 将得到的数,表示成IEEE 754的格式,0.00101=1.01*2-3。这个数可能在32bits范围内,不能准确的表示出来,因此需要进行截位;⭘0.15625x2=0.3125 取整0。⭘0.31250x2=0.6250 取整0。⭘0.25000x2=0.5000 取整0。按照上面的公式,整数部分,127: 0111_1111;其中,E为阶码位,M为尾数部分,S为符号位;

major的博客 1万+

工程级 RK3588 YOLOv5 Android 架构拆解:NPU 量化优化 + 多线程推理 + 跟踪算法源码

本文将带你完成一个完整的AI视觉项目:在搭载RK3588芯片的Android开发板上运行实时目标检测与跟踪应用。实战目标:成功运行官方YOLOV5摄像头实时检测案例技术深度:深入理解RKNN开发框架和源码实现核心技能:掌握NPU推理、多线程并发、目标跟踪等关键技术。

LXY_LOVE36的博客 128

IEEE 754标准 32位浮点数(float)转十进制 C语言

关于32位浮点数转整形的相关知识可以参考这篇博客:https://blog.youkuaiyun.com/u011575671/article/details/74518933 用Modbus读PLC的浮点数寄存器的时候读取的内容为IEEE 754标准的32位寄存器,需要转换一下,可以根据自己的需求转换,直接贴代码: //=========================================...

大燕国平民 1万+

vue2/3 - 详细实现高德地图轨迹回放,vue高德地图车辆历史行驶轨迹播放,在地图上绘制行程轨迹|起点和终端的路程绘制|用户运动轨迹绘制及播放等(支持开始/暂停、进度条拖放、控制播放轨迹的倍速等)

vue2,vue3,nuxt,高德地图,轨迹,vue高德地图轨迹回放,历史轨迹回放,轨迹回放功能支持倍速及进度条拖拽,VUE高德地图轨迹回放、倍速调整、进度条拖拽,vue3高德地图轨迹回放,Vue实现地图路径回放,vue中使用高德地图实现历史轨迹回放并能控制播放轨迹的倍速,多条轨迹陆续播放,巡航轨迹做带进度条和倍速的轨迹回放,Vue高德地图路径回放,历史轨迹回放并能控制播放轨迹的倍速,使用高德地图实现轨迹播放和进度条控制,vue高德地图如何实现轨迹回放,高德地图做轨迹绘制用什么api,高德轨迹API,驾车轨

✅ 精选推荐文章 1万+

温度PID控制PLC程序

温度PID稳定控制程序,适用于欧姆龙PLC,对其他PLC也具有很大参考价值

根据IEEE 754标准实现十进制和二进制的转换

IEEE 754标准主要包括两种浮点数格式:float单精度浮点型(4字节=32位)和double双精度浮点型(8字节=64位)。 单精度浮点数由1位符号位(sign)、8位指数位(Exponent)和23位尾数(Mantissa)位组成。 双精度浮点数由1位符号位(sign)、11位指数位(Exponent)和52位尾数位(Mantissa)组成。 因为两种浮点型的表示规则相似,我们以较为简单的float(单精度浮点数)为例: 1. 符号位(S):1位,0表示正数,1表示负数 2. 指数位(E):8

2301_79896143的博客 2963

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

将10进制数转换为IEEE754标准的32位浮点数的二进制格式

将20.163转换成754标准的32位浮点数 1.将十进制数转换成二进制数 不要求精度时,通常取到8~10位 20.163(10)=10100.0010100110(2) 2.移动小数点到第1、2位之间,得e的值 10100.0010100110=1.01000010100110 *2的4次方 e=4(小数点移动4位) 3.求出S、E、M的值,这里是32位浮点,偏移值为127。64位是偏移值...

s1050712899的博客 2万+

数学建模模型总结

这是本人在两年内准备参加数学建模竞赛搜集到的模型资料,已经经过了本人的筛选和整理,希望能够对准备参加数学建模竞赛的学弟学妹们提供一些帮助!

lwip-2.0.3

lwip是瑞典计算机科学院(SICS)的Adam Dunkels 开发的一个小型开源的TCP/IP协议栈。实现的重点是在保持TCP协议主要功能的基础上减少对RAM 的占用。

IEEE754单精度浮点数与十进制相互转化

IEEE 754单精度浮点数格式使用32位二进制表示,其中1位用于符号位,8位用于指数,23位用于尾数。SExpFrac18 bits23 bits其中,S表示符号位,Exp表示指数,Frac表示尾数。符号位(S):用于表示浮点数的正负性。当S为0时,表示为正数;当S为1时,表示为负数。指数位(Exp):用于表示浮点数的大小范围。在IEEE 754标准中,指数采用“移码表示”(Excess-K表示),即实际指数值为指数值减去一个固定偏移量K。

3476511424@qq.com的博客 1万+

IEEE754标准浮点数转换

原文:https://blog.youkuaiyun.com/hqh131360239/article/details/81353582 IEEE754标准浮点数转换 IEEE754标准是一种浮点数表示标准,一般分为单、双精度两种,单精度是32位的二进制数,双精度是64位的二进制数,一个浮点数的组成分为三个部分。 ①第1位是数符s,s=1表示负数,s=0表示正数。 ②第2-9位为阶码E, (双精度为2-12位) ③第10-32位为尾数M (双精度为13-64位) 转换大致过程如下: 首先将十进制数转为二进制数,用类

xiaogu0322的博客 1万+

IEEE754浮点数的表示

在学习浮点数的表示之前,先看一下二进制和十进制之间的转换。再来学习IEEE754标准的浮点数。

FPGA开发 | 高速接口与数字IC设计 2370
上一篇: 带小数十进制转二进制--图解
下一篇: KMP匹配算法概念+实例
快苏排序OAO
博客等级 码龄5年 273粉丝 69原创
评论 2
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

快苏排序OAO

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值