[求助] can协议的问题

chenbingjy   2024-8-31 10:55 楼主

先上图

8.png
文章中说32位浮点数为40H,A0H,00H,00H,S=0,E=129,M=221
我不明白,M怎么等于221,我觉得应该等于200h,1024才对
各位大神如何看?谢谢

 

为江山踏坏了乌骓马,为社稷拉断了宝雕弓。

回复评论 (2)

https://baseconvert.com/ieee-754-floating-point 是个浮点数转换的网址

 

第一位 正数  0

2的2次方,指数部分偏移成2+127即129,表示成10000001填入

 

5==》变二进制101.00000000.。。

010 0000 0000 0000 0000 0000  (最前面的1省掉了)。

20  00 00

 

0 10000001 010 0000 0000 0000 0000 0000

40 A0 00 00

http://cenalulu.github.io/linux/about-denormalized-float-number/

 

平常使用其实不需要这样子搞,直接调用函数就行了,就是个单精度浮点数。直接用sprintf转换九OK了。

 

本帖最后由 damiaa 于 2024-9-2 12:58 编辑
点赞  2024-9-2 11:05
引用: damiaa 发表于 2024-9-2 11:05 https://baseconvert.com/ieee-754-floating-point

你贴的网址内容我看不懂,不过我的问题已经解决了

为江山踏坏了乌骓马,为社稷拉断了宝雕弓。
点赞  2024-9-2 12:09
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 京公网安备 11010802033920号
    写回复