IEEE754 笔记

【计组笔记-4】定点数,浮点数,IEEE 754标准,与常见数据类型 【计组笔记-4】定点数,浮点数,IEEE 754标准,与常见数据类型1. 定点数与浮点数介绍2. IEEE 754标准3. 浮点数介绍3.1 float3.1.1 float储存思路3.1.2 float中的指数位3.1.3 float中的数值位 1. 定点数与浮点数介绍 定点数,就是小数点固定的数,即在一个二进制数中,固定一部分代表整数,一部分代表小数。此外,小数点是隐式存在的,并不会有哪个二进制位专门空出来表示小数点。 浮点数,顾名思义,就是小数点不固定的数。 那么问题来了,定点数的点定在哪里,又如何记 阅读详情

IEEE754 标准是 IEEE 对浮点数表示的规范,目的在于统一浮点数的编码,提高浮点运算程序的可移植性。

IEEE754有3种浮点数格式:单精度、双精度、扩展双精度。

每种格式皆由3部分组成: 符号位(s)、指数(e)和尾数(m)。

single-precision :  | 31 | 30:23 | 22:0 |   (Ns=1, Ne=8, Nm=23)
double-precision:  | 63 | 62:52  | 51:0 |  (Ns=1, Ne=11, Nm=52)
double-extended:  | 79 | 78:64 | 63:0 | (以x86之80位为例)


所表示值按指数域分为归一化值和未归一化值。


A. 归一化值

当 e != 0 && e != ~0 (全0与全1)所表示值为归一化值

V = (-1)^s * 2^E * (M+1)
其中 E = e - Bias, Bias = 2^(Ne-1)-1

如单精度浮点数 Bias = 127, V = (-1)^s * 2^(e-127) * (M+1)


B. 未归一化值

当 e == 0 || e == ~0 时,所表示值为未归一化值


B.1 e == 0

m == 0, s == 0  ---> +0.0
m == 0, s == 1  ---> -0.0

m != 0 则V = (-1)^s * 2^E * M,其中E = 1 - Bias, Bias = 2^(Ne-1)-1

如单精度浮点数的话,e==0, m!=0, 则 E = 1-127 = -126


B.2 e == ~0

m == 0,
s == 0  ---> +INFINITY
m == 0,
s == 1  ---> -INFINITY
如果 m != 0    ----> NaN, Not a Number



例1 二进制单精度浮点数转十进制数

0x80480000

1000 0000 0100 1000 0000 0000 0000 0000

1 00000000 10010000000000000000000


s = 1

e = 0, E = 1 - 127 = -126

因e == 0,则:尾数部分M为(无须加1):

0.10010000000000000000000=0.5625

该浮点数的十进制为:

(-1)^1 * 2^(-126) * 0.5625 = -6.612156e-39



可以使用如下 C 程序验证之:

#include <stdio.h>

union FI
{
    
float f;
    
struct
    
{
        unsigned 
char b0;
        unsigned 
char b1;
        unsigned 
char b2;
        unsigned 
char b3;
    }
;
}
u;


int main()
{
    u.b3 
= 0x80;
    u.b2 
= 0x48;
    u.b1 
= 0x00;
    u.b0 
= 0x00;

    printf (
"x = %e ", u.f);
    
return 0;
}



更简洁的:

#include <stdio.h>

int main()
{
    
int x = 0x80480000;
    
float y = *(float *)&x;

    printf (
"x = %e ", y);
    
return 0;
}


 
《程序员教程(第三版)》学习笔记——01.十进制浮点数转化为IEEE754标准单精度浮点数 工业标准IEEE754:    1985年IEEE(Institute of Electrical and Electronics Engineers)提出了IEEE754标准。该标准被广泛采用,其表示形式如下:其中S为符号位,0为正数,1为负数。P为阶码,通常用移码表示,M为尾数,用原码表示,根据二进制的规格化方法,最高数字位总是1,该标准将这个1缺省存储,使得尾数表示范围比实际存储的多一位。 阅读详情

相关推荐

手把手教你学习IEC104协议和编程实现六 遥测与遥信帧的几种类型.

IEC104协议的总召返送的全遥测,全遥信的解释包含单点,双点,归一化值,浮点值的编程实现

sixtome 2165

归一化值、标度化值、浮点值

https://zhidao.baidu.com/question/339310656.html

chenliang0224的专栏 1万+

电力规约遥测值转换(归一化-标度化-浮点数)算法

在电力协议编程过程中,对于入门开发人员来说,对于归一化值NVA,标度化值SVA,短浮点数R32-IEEE STD 754数据值转换不是很清楚,本文档有源码解析,请下载收藏

规一化值 标度化值 浮点数 在远动、电力和104规约上是什么意思?

一个数值是没有意义的,比如你说的十六进制7C6,如果作为标度化值的话就是7C6,但是有标度,比如是安培、乏安等,如果转化为归一化值的话就必须先知道归一到什么标准值下,所以不好告诉你,段浮点数只是数值的一种表达方法,是国际标准,是32位表示的,是科学计数法的一种数学表示,有明确的位的标准定义的 归一化值是需要一个标准值的 比如说你的7C6,十进制是1990,如果要归一化,那么要约定一下,比如说你的...

波波诸葛伟 6675

技术解析:PETR如何通过3D位置编码革新多视角3D目标检测

本文深入解析了PETR模型如何通过创新的3D位置编码技术革新多视角3D目标检测。它摒弃了DETR3D复杂的投影采样机制,通过3D坐标生成器和编码器,将3D几何信息直接注入2D图像特征,构建出3D感知特征。该方法简化了流程,提升了模型对空间关系的理解能力与训练稳定性,为自动驾驶等领域的精准感知提供了新思路。

weixin_29079743的博客 212

双有源桥变换器(DAB)TPS控制:从理论建模到Simulink/PSIM仿真实践

本文深入探讨了双有源桥变换器(DAB)的三重移相(TPS)控制技术,从理论建模到仿真实现。文章详细分析了TPS相比SPS和DPS的优势,阐述了其12种工况的划分逻辑与电流应力最优调制策略,并提供了在Simulink和PSIM平台搭建仿真模型的详细步骤与实战经验,帮助工程师掌握这一高效控制方法。

white的博客 583

C++ 将float数据归一化到[0,1]

std::ofstream fileout(‘features_normalize.txt’,std::ios::app); float ymax = 1; //归一化数据范围 float ymin = 0; float feature_blob_data[5] = [-1.254,0.254,2.147,-3.456,4.257];//初始化浮点数 std::vector features;

u010555688的专栏 8717

蓝牙攻防实战指南:低功耗蓝牙

Bluetooth Low Energy(也称Bluetooth Smart)是经典蓝牙(Bluetooth Classic)的演进版本,设计目标是实现极低功耗,适用于无需频繁更换电池的设备,如智能手环、健康监测器、蓝牙标签等。Bluetooth Low Energy 是一项极具前景的无线通信技术,它以极低的功耗实现了短距离高效通信,广泛应用于智能设备和物联网领域。然而,其简化的协议结构和配对机制也带来了不小的安全挑战。

idlecloud0105的博客 682

IEEE754浮点数标准学习笔记

IEEE754浮点数标准学习 因为不太理解书上关于这一段的描述,可能是没有认真看,故写了这篇文章,边看边做记录。 浮点数的表示 当然在讲之前,我们首先讲一下关于浮点数的表示格式。对于任意的实数XXX,可以表示为如下的形式 X=(−1)S∗M∗REX=(-1)^S*M*R^EX=(−1)S∗M∗RE 其中,SSS的取值为0或者1,一般为0为正,1表示负数。 MMM是一个二进制定点整数,称为XXX的阶...

WangTao的博客 3555

Vue2 - 最新详细实现网站内部打开预览 office 全套附件,在页面弹窗内解析预览 word文档、excel电子表格、ppt演示文稿(docx|xlsx|pptx|pdf|txt等文件)详细代码

vue2,nuxt2,office,文档,文件,查看预览,弹框预览,下载预览,如何预览pdf文档,打开查看,office全套文档,实现在线预览文件,小程序内预览word文件,手机h5移动端网页,nuxt文档在线预览,预览office最好用的插件,下载查看,Office在线预览,vue-office,vue如何使用vue-office教程示例,word文档,ppt,exce表格,预览电子文件,文档无法解析,打不开,报错,失效,保存下载,vue前端预览并下载doc、xls、pdf、txt及图片,vue2中预览p

🏆 前端领域优质创作者 1万+

fast-lio系列改进版本

2.回环检测的优化结果,更新到FAST-LIO2的当前帧位姿中,幷进行ikdtree的重构,进而更新submap。其它的效果还不清楚,实测lio部分稳定性很好。用fast-lio_slam就很稳定。融合了fast-lio2和sc-pgo,两部分分开运行,SC-PGO从FAST-LIO2节点获取里程计和激光雷达点云主题。的作者kim在FAST-LIO2的基础上,添加SC-PGO模块,通过加入ScanContext全局描述子,进行回环修正,SC-PGO模块与FAST-LIO2解耦,非常方便,很优秀的工作。

z1872385的博客 3189

王道机组笔记IEEE754

用csdn写的机组笔记,复习用

runwayeight的博客 4759

华为OD机试真题2026双机位C卷 Python&JS 语言 实现【主次关联成环警告】

在ICT运维领域,现网运维工程师面向对设备上报的众多告警,往往需要筛选出最主要的告警优先处理,次等级的告警或许为同一个根因导致的告警,处理优先级会放后或者不处理,这样就诞生出主次关联告警的概念。给定一系列告警的主次关联关系,判断是否存在如下情况:

MISAYAONE的博客 269

IEEE 754标准浮点数详解,总结笔记

参考教材:王道计算机组成原理考研复习指导,计算机组成原理-蒋本珊按照IEEE 754标准,浮点数的格式标准如图所示。常用的浮点数格式如图常用的浮点数格式有三类:短浮点数(单精度、float型)、长浮点数(双精度、double型)、临时浮点数。IEEE 754标准的浮点数(除临时浮点数外),是尾数用采取隐藏位策略的原码表示,且阶码用移码表示的浮点数。

m0_63485889的博客 9318

YOLOv8改进 | 主干网络 | 增加网络结构增强小目标检测能力【独家创新——附结构图】

YOLOv8改进,小目标检测,yolov8

kay_545 6017

国科大学习资料--计算机视觉(胡占义、董秋雷)--2018-2019第二学期期末试卷

国科大学习资料–计算机视觉(胡占义、董秋雷)–2018-2019第二学期期末试卷 国科大学习资料–计算机视觉(胡占义、董秋雷)–2018-2019第二学期期末试卷 国科大学习资料–计算机视觉(胡占义、董秋雷)–2018-2019第二学期期末试卷 ...

无名何许人的博客 2165

阅读IEEE754关于浮点运算笔记

最近重新看了一篇《深入理解计算机系统》,果然好书读多少次都能得到新的知识。关于浮点运算IEEE754上次读过还只是蜻蜓点水,完全没有深入理解,这次结合P.J.Plauger写的《C标准库》对该标准在计算机中是如何实现的有了更深入的了解。下面我记录下我最近阅读内容及个人的思考理解。 在CSAPP中对IEEE754的描述是:浮点标准用的形式表示一个数: 符号 s=1这个数为负s=0则为正; 尾数

yao88362852的专栏 4385

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

【汇编语言与计算机系统结构笔记03】浮点数的计算机表示,IEEE 754,舍入(rounding),C语言中的浮点数

浮点数的计算机表示符合IEEE 754标准,但是要注意,E在表示时存在偏置量。浮点数表示机制考虑较全面,分为三种浮点数:规格化浮点数、非规格化浮点数、一些特殊值。

记录学习痕迹的公众号:Piper蛋窝 2298

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

win10 跳过U8环境检测的IE WebControls.rar

win10 安装u8的时候 提示IE WebControls 不通过,这个工具可以欺骗u8的检查。 跳过U8环境检测的IE WebControls。提示导入失败后,重新检测通过。

Scala学习笔记2——基础类型和操作中的IEEE 754 的余数

先上代码示例,如下: 1.算数操作符%取余 scala> 11.0 % 4.0 res1: Double = 3.0 2.IEEE 754 取余 scala> math.IEEEremainder(11.0,4.0) res2: Double = -1.0 从算数操作符得到的余数跟IEEE754标准定义下的不同。IEEE754的余数再计算时用的是四舍五入,而不是截断。因此得到的结果...

weixin_43716338的博客 573

温度PID控制PLC程序

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

IEEE 754 & 使用定点数替代浮点数运算笔记

本文介绍了IEEE 754浮点数标准及帧同步中的浮点数问题解决方案。IEEE 754定义了浮点数的表示格式和运算规则,包括单/双精度结构、特殊值处理和舍入模式。在帧同步应用中,由于浮点数的平台差异会导致一致性问题,通常采用定点数替代方案:通过缩放因子将浮点转整数运算,构建定点数学库,使用查表法处理复杂函数,并统一放大截断规则。这种"定点数+数学库+查表"的方法能确保跨平台计算一致性,建议仅在渲染层使用浮点数,逻辑层采用定点运算。

EVEnMore_的博客 493

土豆酱的个人笔记——检验float,double是否符合IEEE754标准(含代码)

源代码: #include <iostream> using namespace std; template <class T> void printbybit(const T& ob) { char* p_e = (char*)&ob; char* p = p_e + sizeof(T) - 1; for (; p >= p...

一只土豆酱的博客 760

[我的C语言学习笔记(12)]浮点数储存方法与IEEE 754标准

介绍浮点数存储的方法以及IEEE 754标准

Epsilon的博客 938

椋鸟C语言笔记#26:数据在内存中的存储(大小端字节序)、浮点数的存储(IEEE754)

萌新的学习笔记,写错了恳请斧正。

椋鸟的博客小窝 1466

ieee754双精度浮点数转换_浮点数的二进制表示(IEEE 754标准)

浮点数是我们在程序里常用的数据类型,它在内存中到底是怎么样的形式存在,是我了解之前是觉得好神奇,以此记录,作为学习笔记并分享。现代计算机中,一般都以IEEE 754标准存储浮点数,这个标准的在内存中存储的形式为:对于不同长度的浮点数,阶码与小数位分配的数量不一样,如下:对于32位的单精度浮点数,数符分配是1位,阶码分配了8位,尾数分配了是23位。根据这个标准,我们来尝试把一个十进制的浮点数转换为I...

weixin_39581972的博客 2026

《软考通关笔记》01:机器数,IEEE754 浮点数与三大校验码完整考点

我们日常书写、数学中带正负号的数字,称为真值。例:+8、-5、+0.11、-1010,正负号用「+、-」表示,人能看懂,但计算机无法识别符号。

2401_89704581的博客 359

【408真题】2013-13

写在后面这个专栏主要是我在学习408真题的过程中总结的一些笔记,因为我学的也很一般,如果有错误和不足之处,还望大家在评论区指出。希望能给大家的学习带来一点帮助,共同进步!!!

@啊哈哈哈哈哈韩的博客 697
上一篇: Breaking Free
下一篇: 绕过 libc 直接使用系统调用
Jack Tan
博客等级 码龄22年 28粉丝 52原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值