-
2019-11-07 13:34:02
浮点型数据通讯的时候,需要将浮点数转成对应的四字节内存数据,可以通过该网址工具验证。
IEEE 754 单精度浮点数转换
http://www.styb.cn/cms/ieee_754.php
1、IEEE754是由IEEE制定的有关浮点数的工业标准,其公式为:
X = (-1)S * 1.M * 2P-127
其中针对于单精度浮点数,S为符号位,只占1位,为0表示正数,为1表示负数。P为指数(阶码),用移码表示,占8位。M为尾数,用原码表示,占23位。2、浮点数规格化表示:当尾数的值不为0时,规定尾数域的最高有效位为1,不符合规定的则将阶码左移或右移小数点位置。
原文链接:https://blog.csdn.net/qq_34801642/article/details/89183919更多相关内容 -
单精度浮点数转换工具.rar
2014-04-21 11:21:36绿色软件,免安装,解压即可使用。单精度浮点数转换工具 -
单精度浮点数转换器
2020-12-08 10:42:14单精度浮点数转换器 实测功能OK 链接地址:http://www.styb.cn/cms/ieee_754.php单精度浮点数转换器
第一种十进制数与浮点数转换器
功能1:十进制数转换为浮点数
功能2:单精度浮点数转换为十进制数
实测功能OK
链接地址:https://lostphp.com/hexconvert/
第一种十进制数与浮点数转换器
功能1:十进制数转换为浮点数
功能2:单精度浮点数转换为十进制数
实测功能OK
上图:转换器小工具截图
-
浮点数转换工具.zip
2021-07-19 10:30:401、浮点数转换为整型工具 2、十进制、二进制、十六进制,相互转换; 3、单精度,双精度,均可转换。 4、编程查看,传输文件必用 -
单精度&双精度浮点数与十六进制数相互转换
2019-04-10 09:27:53浮点数和十六进制数的相互转换,包括:1.单精度浮点数(32位)和十六进制数的相互转换,2.双精度浮点数(64位)和十六进制数的相互转换。 -
IEE754浮点数转换工具.exe
2020-06-01 10:39:43VB小工具,免费使用,实现float数据与四字节数据相互转化以及Double数据与八字节数据相互转化。 -
IEEE754字节转单精度/双精度浮点数
2018-11-07 16:37:26IEEE754字节转单精度/双精度浮点数 -
单精度双精度浮点数转换
2013-05-02 12:36:32单精度双精度浮点数转换,浮点数与16进制转换工具 -
双精度浮点数转换
2013-08-19 17:24:54双精度浮点数、单精度浮点数与十六进制,二进制之间可以进行任意转换 -
IEEE32位浮点数转换工具(含源码)
2011-12-08 14:22:01基于Delphi编写的IEEE32位浮点数转换工具,可由浮点数转换为十六进制数,也可以由十六进制数转换为浮点数。 -
浮点数转换工具
2017-03-10 15:24:35支持单精度、多精度浮点数与十六进制、十进制、二进制整数之间的转换。 -
浮点数与二进制转换工具
2020-03-31 13:54:03好用的浮点数与二进制转换工具,通讯开发必备实用小工具,4字节浮点数转换,支持正序倒序转换。浮点数转二进制,二进制转浮点数,转换准确。 -
C语言:IEEE754十进制数转二进制单精度浮点数
2021-05-25 08:34:05针对于单精度浮点数,其公式如下,S为符号位,只占1位,为0表示正数,为1表示负数。P为指数(阶码),用移码表示,占8位。M为尾数,用原码表示,占23位。X = (-1)S * 1.M * 2P-127浮点数规格化表示:当尾数的值不为0时...1. 背景知识
IEEE754是由IEEE制定的有关浮点数的工业标准。针对于单精度浮点数,其公式如下,S为符号位,只占1位,为0表示正数,为1表示负数。P为指数(阶码),用移码表示,占8位。M为尾数,用原码表示,占23位。
X = (-1)S * 1.M * 2P-127
浮点数规格化表示:当尾数的值不为0时,规定尾数域的最高有效位为1,不符合规定的则将阶码左移或右移小数点位置。
2. 程序代码
//编程环境:
// 操作系统:windows 7
// 编程工具:VS2017
// 编程语言:c/c++语言
#include "pch.h"
#include
#include
//整数转r进制
//integer:整数 radix:进制 result:结果数组 num:生成r进制所占位数
void D1toB(int integer, int radix, int result[], int &num)
{
int i, j, n;
for (i = 0; integer > 0; i++)//除r取余
{
result[i] = integer % radix;
integer = integer / radix;
}
num = i;//r进制位数
for (j = 0; j < i / 2; j++)//颠倒顺序
{
n = result[j];
result[j] = result[i - 1 - j];
result[i - 1 - j] = n;
}
}
//小数转r进制
//decimal:小数 radix:进制 result:结果数组 num:生成r进制所占位数
void D2toB(double decimal, int radix, int result[], int &num)
{
int i;
for (i = 0; decimal > 0 && i < 50; i++)//乘r取整
{
result[i] = decimal * radix;
decimal = decimal * radix;
decimal = decimal - int(decimal);
}
num = i;
}
int main()
{
int integer;//整数部分
double decimal;//小数部分
int s, p[8], m[50];//浮点数符号位,阶码数,尾数
while (true)
{
double number;//输入的浮点数
printf("请输入一个浮点数:");
scanf_s("%lf", &number);
getchar();
int i, j;
for (i = 0; i < 8; i++)//清零
{
p[i] = 0;
}
for (i = 0; i < 50; i++)
{
m[i] = 0;
}
//确定符号位
if (number > 0)
{
s = 0;
}
else
{
s = 1;
number = -number;
}
//将浮点数分成整数和小数
integer = (int)number;
decimal = number - integer;
//分别将整数和小数转化成二进制
int m_n1, m_n2;
D1toB(integer, 2, m, m_n1);
D2toB(decimal, 2, m + m_n1, m_n2);
//规格化,计算阶数, 尾数
int pn = 0;//阶数
if (integer > 0)//小数点左移
{
pn = m_n1 - 1;//阶数
for (i = 0; i < 23; i++)//去掉首位默认的1
{
m[i] = m[i + 1];
}
}
else//小数点右移
{
for (i = 0; m[i] == 0; i++)
{
}
pn = -i -1;
for (j = 0; j < 23; j++)//去掉左边无效的0和第一个的1
{
m[j] = m[j + 1 + i];
}
}
//计算阶码
int p1[8], pn1;
D1toB(pn + 127, 2, p1, pn1);//阶数转二进制
if (pn1 < 8)//不足8位左边补0
{
for (j = 0; j < 8 - pn1; j++)
{
p[j] = 0;
}
for (int k = 0; k < pn1; k++)//得出完整p
{
p[j + k] = p1[k];
}
}
else
{
for (i= 0; i < 8; i++)//得出完整p
{
p[i] = p1[i];
}
}
//输出s
printf("%d ", s);
//输出p
for (i = 0; i < 8; i++)
{
printf("%d", p[i]);
}
printf(" "); //输出s
//输出m
for (i = 0; i < 23; i++)
{
printf("%d", m[i]);
}
printf("\n\n");
}
return 0;
}
运行结果
提示:此程序为个人编写,结果仅作参考,若有不对之处,请指正。
-
IEEE754 浮点数 小工具
2014-10-22 11:19:44用来在桌面上计算IEEE754各种浮点类型数值同二进制字节之间的转换. 方便片上系统作显示/协议换算. 帮助里有联系方式, 需要源码的可以直接联系我. -
浮点数十六进制表示转换工具
2014-07-11 17:01:41将单精度和双精度浮点数据转换为对应的16进制表示形式 包括一个基于VC6.0的工程和工具安装包(可直接安装运行) -
matlab 单精度浮点数和十进制数相互转换
2020-12-16 13:37:41% IEEE754 to dec a = 'BF896BF8' a = dec2bin(hex2dec(a),32); M = bin2dec(a(10:32)); E = bin2dec(a(2:9)); x = (-1)^a(1)*(1 + M*2^-23)*2^(E-127);... dec2hex(bin2dec(r)) matlab 单精度浮点数和十进制数相互转换% IEEE754 to dec a = 'BF896BF8' a = dec2bin(hex2dec(a),32); M = bin2dec(a(10:32)); E = bin2dec(a(2:9)); x = (-1)^a(1)*(1 + M*2^-23)*2^(E-127); % dec to IEEE754 result = 1./(1+exp(-x)) if(result<0) S = '1'; else S= '0'; end result = abs(result); i = 0; while(result<1) result = result * 2; i = i+1; end j = 0; while(result>2) result = result/2; j = j+1; end E = i + j; if(j == 0) E = -E; end E = E+127; E = dec2bin(E,8); M23 =dec2bin(floor((result-1)*2^23),23); r = [S,E,M23]; dec2hex(bin2dec(r))
matlab 单精度浮点数和十进制数相互转换
-
单精度浮点数转换绿色版
2010-06-29 07:01:21纯汇编编写的浮点数转换工具,是汇编编程的必备工具 -
32位浮点数转换成十进制小数程序
2012-08-09 21:33:37用C#写的32位浮点数转换成十进制小数程序。输入32位二进制数如01000000000000000000000000000000 -
IEEE754标准下,将一个十进制数转换为32位单精度浮点数
2021-11-16 17:57:16二进制浮点数算术标准(IEEE 754)是20世纪80年代以来最广泛使用的浮点数运算标准...IEEE 754规定了四种表示浮点数值的方式:单精确度(32位)、双精确度(64位)、延伸单精确度(43比特以上,很少使用)与延伸双精确度 -
C语言浮点数转换四字节16进制数工具
2018-05-29 09:51:52C语言浮点数转换四字节16进制数工具,将浮点数转化为四字节。 -
IEEE754浮点数转换软件
2011-11-03 16:58:32能查看浮点数内部存储和读取方式,HEX转DOUBLE DOUBLE转HEX -
java工具类十六进制单精度、双精度浮点数转BigDecimal
2020-12-10 16:08:46* 十六进制单精度浮点数,转BigDecimal,保留2为小数,截掉多余小数位 * @param hex * @return */ public static BigDecimal hexFloat2BigDecimal(String hex) { float value = Float.intBitsToFloat((int)... -
单精度浮点数与四字节十六进制数据的转换(左低右高)
2011-01-17 15:40:32这个可以用来做数据分析,希望能有参考作用。 -
JS - 4字节转单精度浮点数
2020-07-20 20:04:12文章目录JS 数据类型IEEEE475Sign(符号位)Exponent(指数位)Significand(小数位)转换公式转换方法在线工具参考鸣谢 JS 数据类型 JS 是一种弱类型的语言,它的数据类型包含字符串值,数值,布尔值,数组,对象。... -
浮点数与十六进制数转换工具
2013-12-30 10:00:43本软件可实现32位浮点数与十六进制数相互转换,用labwindows编写。 -
IEEE 754标准浮点数转换
2021-09-13 16:16:42单精度浮点数为实列,最高位是数符位,后面是8位阶码,以2为底,23位是尾数数值位,因为最高位总是1,将1隐含,实际尾数是24位的,实际尾数的有效值是1.M。 规格化的单精度浮点数真值为: N = (-1)的s次方* 1.M * ... -
十进制与浮点数相互转化工具.rar
2019-06-17 15:12:17十进制与浮点数相互转化的小工具,特别适合将浮点数转化为十进制 -
十进制浮点 to IEEE754浮点 & IBM浮点转换工具
2015-12-05 13:47:43十进制浮点 to IEEE754浮点 & IBM浮点转换工具 可完成十进制单精度浮点数到IEEE754浮点数、IBM浮点数的转换。