IEEE754 32bit转换成浮点数(程序实现)

您所在的位置:网站首页 bit转换m IEEE754 32bit转换成浮点数(程序实现)

IEEE754 32bit转换成浮点数(程序实现)

2023-07-17 06:56| 来源: 网络整理| 查看: 265

IEEE754数据结构

32位单精度浮点数的数据格式如下:

符号位(S)指数位(M)小数位(M)31 bit30~23 bit22~0 bit

转换公式:dis = (-1)e(S) * (1+M) * (2)e(M-127)

程序实现

float IEEE754_to_decimal(uint32_t source) { uint8_t sign = 0; uint8_t index = 0; uint32_t mantissa = 0; float decimal = 0; float result = 0; sign = (uint8_t)((source&0x80000000)>>31); //符号 第31位 index = (uint8_t)((source&0x7f800000)>>23); //指数 第23-30位 mantissa = (source&0x007fffff); //尾数 第0 -23位 decimal = tow_to_ten(mantissa); //尾数 第0 -23位转换成小数 result = pow(-1,sign)*(1+decimal)*pow(2,(index-127)); //IEE754转换公式 return result; } //转换成小数 float tow_to_ten(uint32_t dat) { float result = 0.0; uint8_t count = 1; uint32_t num = 0; num = (dat break; } } return result; }

获取更多技术上的交流: https://blog.csdn.net/qq_31227875?spm=1011.2124.3001.5343



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3