IEEE754标准
以下计算按规格化规定:
S:符号位
M:分数值
E:指数偏移值
单精度浮点数(32bit):
NUM_single = (-1)^S * 1.M * 2^(E-127)
双精度浮点数(64bit):
NUM_double = (-1)^S * 1.M * 2^(E-1023)
十六进制单精度浮点数 与 十进制浮点数 互转:
MATLAB:
a = '45438971' % IEEE754 格式十六进制浮点数
b = typecast(uint32(hex2dec(a)),'single') % 十进制单精度浮点数
sprintf('```%tx',single(b)) % IEEE754 格式十六进制浮点数
十六进制单精度浮点数转十进制浮点数:
- 方式一
a = textread('4.txt','%s'); % 读取字符
n = length(a(:)); % 计算数组长度
b = hex2single(a)
t = linspace(0,1000,n);
plot(t,b, "*");
function number_transform = hex2single(hexString)
binString = dec2bin(hex2dec(hexString));
binString = [char(zeros(size(binString, 1),32-length(binString)) + 48) binString];
if binString(1) == '0'
number_transform = (1 + single(bin2dec(binString(:, 10:end)))/2^23).*2.^(bin2dec(binString(:, 2:9)) - 127);
else
number_transform = -(1 + single(bin2dec(binString(:, 10:end)))/2^23).*2.^(bin2dec(binString(:, 2:9)) - 127);
end
end
- 方式二
a = '409BFFFF'; %# A sample hexadecimal value
b = hex2dec(a); %# Convert to an integer
sign = bitget(b,32); %# Compute the sign
exponent = bitget(b,24:31)*2.^(0:7).'; %# Compute the exponent
fraction = bitget(b,1:23)*2.^(-23:-1).'; %# Compute the fraction
value = (-1)^sign*(1+fraction)*2^(exponent-127); %# Compute the value
fprintf('%1.7f\n',value) %# Display the value
取值范围:
博客园 - IEEE754 32位浮点数表示范围
参考链接:
CSDN - IEEE754标准 单精度(32位)/双精度(64位)浮点数解码
博客园 - 二进制小数及 IEEE 浮点表示
MATLAB论坛 - 浮点数在内存中表示方式的理解
MATLAB论坛 - MATLAB怎么实现浮点数到16进制的转换(float)?
IT屋 - 32位十六进制到32位浮点(IEEE 754)在matlab中的转换
IEEE754标准的更多相关文章
- C#中浮点数依IEEE-754标准转二进制串 (MODBUS 浮点数转换)
因工作需要,把再串口通信中浮点数与字节流的数据转换函数放在这,转发的,谢谢原作者. 今天花了一天的时间搜罗资料,为了解决一个串口编程的进制转化问题.因为串口传送的浮点数据格式与IEEE-754标准(3 ...
- 将四个BYTE数值转换成IEEE754标准的浮点数(两种方法:用Addr函数取字节数字的首地址,或者用Absolute关键字)
在工作中,经常使用到IEEE754格式的数据.IEEE754格式的数据占四个字节,好像Motorola格式和Intel格式的还不一样. 由于工作中很少和他打交道(使用的软件内部已经处理),就没太在意. ...
- 第二章 运算方法与运算器(浮点数的加减法,IEEE754标准32/64浮点规格化数)
这一章,主要介绍了好多种计算方法.下面,写一点自己对于有些计算(手写计算过程)的见解. 1.原码.反码.补码 原码:相信大家都会写,符号位在前二进制数值在后,凑够位数即可. 反码:原码符号位不变,其他 ...
- 十进制浮点数转换成IEEE754标准的32浮点数的二进制格式
参考: http://jimmygod.blog.163.com/blog/static/43511339200792605627411/ http://blog.csdn.net/archersab ...
- IEEE754标准浮点格式
两种基本浮点格式:单精度和双精度.IEEE单精度格式具有24位有效数字,并总共占用32 位.IEEE双精度格式具有53位有效数字精度,并总共占用64位 两种扩展浮点格式:单精度扩展和双精度扩展.此标准 ...
- IEEE754标准浮点数表示与舍入
原文地址:https://blog.fanscore.cn/p/26/ 友情提示:本文排版不太好,但内容简单,请耐心观看,总会搞懂的. 1. 定点数 对于一个无符号二进制小数,例如101.111,如果 ...
- 【转载】JS Number类型数字位数及IEEE754标准
JS的基础类型Number,遵循 IEEE 754 规范,采用双精度存储(double precision),占用 64 bit.如图 意义 1位用来表示符号位 11位用来表示指数 52位表示尾数 浮 ...
- JS Number类型数字位数及IEEE754标准
JS的基础类型Number,遵循 IEEE 754 规范,采用双精度存储(double precision),占用 64 bit.如图 意义 1位用来表示符号位 11位用来表示指数 52位表示尾数 浮 ...
- IEEE754标准的浮点数存储格式
操作系统 : CentOS7.3.1611_x64 gcc版本 :4.8.5 基本存储格式(从高到低) : Sign + Exponent + Fraction Sign : 符号位 Exponent ...
随机推荐
- js 一数组分割成若干个数组,并装换成字符串赋个li标签
success: function (datas) { //请求成功后处理函数. var htmltext = ''; var data = datas.result; console.log(dat ...
- CVE-2021-21402 Jellyfin任意文件读取
CVE-2021-21402 Jellyfin任意文件读取 漏洞简介 jellyfin 是一个自由的软件媒体系统,用于控制和管理媒体和流媒体.它是 emby 和 plex 的替代品,它通过多个应用程序 ...
- Kafka分片存储、消息分发和持久化机制
Kafka 分片存储机制 Broker:消息中间件处理结点,一个 Kafka 节点就是一个 broker,多个 broker 可以组成一个 Kafka集群. Topic:一类消息,例如 page vi ...
- Unknown custom element: <componentName> - did you register the component correct?
最近开发的时候遇见一个头疼的事情,之前用过的组件没有出现过任何问题,但偏偏在其他目录下引用就出问题了. 组件的名称.import的路径都没任何问题,看了其他人遇到的问题和官方文档关于组件name属性的 ...
- 一文读懂eBPF/XDP
XDP概述 XDP是Linux网络路径上内核集成的数据包处理器,具有安全.可编程.高性能的特点.当网卡驱动程序收到数据包时,该处理器执行BPF程序.XDP可以在数据包进入协议栈之前就进行处理,因此具有 ...
- 支持rotate和大小限制的golang log库
支持大小限制和rotate的log库,还是很有必要的,前者让你不再操心磁盘被吃光,后者让查日志更方便. 但是在golang中没有太好的实现,看过一些开源的和自行实现的,都有几个不满意的地方,比如: 没 ...
- 如何以最简单的方式安装 KALI 渗透测试框架系统
0x01 第一步下载 KALI 百度搜索 KALI 官网,找到下载区,我选的是 64 位标准版,但是推荐下载 32 位(功能貌似更全) 这个为下载后的 iso 镜像文件 0x02 第二步打开虚拟机,配 ...
- Win64 驱动内核编程-23.Ring0 InLineHook 和UnHook
Ring0 InLineHook 和UnHook 如果是要在R0里hook,作者的建议是InLine HOOK,毕竟SSDT HOOK 和 SHADOW SSDT HOOK比较麻烦,不好修改.目前R3 ...
- 将HTML字符串编译为虚拟DOM对象的基础实现
本文所有代码均保存在HouyunCheng / mini-2vdom 虚拟DOM只是实现MVVM的一种方案,或者说是视图更新的一种策略,是实现最小化更新的diff算法的操作对象. 创建扫描器 所有编译 ...
- springmvcdemo
项目点击属性 2.3 转换成2.5 已经变成一个网站项目了 报错消失 pom.xml <project xmlns="http://maven.apache.or ...