Microchip
直播中

李亮

7年用户 212经验值
私信 关注
[问答]

请问怎么将IEEE 754(32位十六进制)转换为十进制浮点数?

亲爱的先生,我需要知道把IEEE 754(32位十六进制)转换成pic24小数浮点数的方法。例如,如果我要将下面的十六进制数据转换为浮点数arr[]="0x4203fc36"分隔成整数32=符号=0意味着+位31-22=指数0x84=127+5,意味着2^5或因子32位23-1=5。MaitiSSa= 0x3FC36;如何将这个尾数0x3FC36转换成C代码中的浮动值。

回帖(16)

贾翠晓

2019-9-4 07:02:11
简化的解释:可以理解的是,位24总是整数部分是这个位+ 5个这里:0x20= 32。分数部分是由剩下的比特移位到左边的0x03fc36& lt;& lt;6=0xff0d8000,从这里我们用连续乘法提取十进制数字。ns的1099629974365…结果32.9962997…好工作
举报

李维兴

2019-9-4 07:09:57
使用Strutter()函数将十六进制字符串转换为一个长的类型转换为浮点。
举报

陈晨

2019-9-4 07:22:45
其他选项:1。将编译器选项设置为32位浮点。2.将编译器选项设置为32位双倍。分配给双和单。BOT选项有一个代码大小和/或速度惩罚。
举报

贾翠晓

2019-9-4 07:35:11
我认为是一个学校问题。十进制浮标是什么格式?如果C编译器使用IEEE74进行浮点运算,只需使用UNION语句,数据就已经是一个浮点。
举报

更多回帖

发帖
×
20
完善资料,
赚取积分