社区
C#
帖子详情
急! 如何把浮点数转换为16进制
joytest
2009-08-27 04:07:51
如何把浮点数转换为16进制
请帮忙写个函数或方法,
目的:向串口发送的数据包,发送的数据包要求16进制
项目在进行中 急求 多谢了
...全文
341
6
打赏
收藏
急! 如何把浮点数转换为16进制
如何把浮点数转换为16进制 请帮忙写个函数或方法, 目的:向串口发送的数据包,发送的数据包要求16进制 项目在进行中 急求 多谢了
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
6 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
joytest
2009-08-31
打赏
举报
回复
float fore = 12.5f;
byte[] bytes = BitConverter.GetBytes(fore);
Array.Reverse(bytes); ----这里要看你是高位在前还是低位在前了,要做相应的选择。
string str = BitConverter.ToString(bytes).Replace("-","");
str的结果是:41480000
joytest
2009-08-27
打赏
举报
回复
我没说清楚我的问题吗
我是要想串口发数据包,发送的数据包要求16进制 ,但是我现在的数据都是浮点型数据。如何转换为16进制呢?
1楼说 串口传输浮点数有很多种格式,不知道你要求哪一种:IEEE-754标准格式(签入式系统用的较多)、定点小数形式(单片机用的较多)、还是其它厂家定义的格式?
这里是IEEE-754标准格式。
zgke
2009-08-27
打赏
举报
回复
看看BitConverter.GetBytes() 方法
joytest
2009-08-27
打赏
举报
回复
IEEE-754标准格式
期待中
风之影子
2009-08-27
打赏
举报
回复
直接
(byte)你的数就行
pcqpzq
2009-08-27
打赏
举报
回复
串口传输浮点数有很多种格式,不知道你要求哪一种:IEEE-754标准格式(签入式系统用的较多)、定点小数形式(单片机用的较多)、还是其它厂家定义的格式?
网上找的
浮点数
表示为二进制的方法,IEEE754规则
https://zhidao.baidu.com/question/487356275489103692.html http://blog.csdn.net/richerg85/article/details/20456969
浮点数
的二进制表示
目前C/C++ 编译器标准都遵照IEEE 制定的
浮点数
表示法来进行float,double 运算。这种结构是一种科学计数法,用符号、指数和尾数来表示,底数定为2—— 即把一个
浮点数
表示为尾数乘以2 的指数次方再添上符号。
浮点数
的二进制表示学习笔记
基础知识: 十进制转十六进制; 十六进制转二进制; IEEE制定的
浮点数
表示规则; 了解: 目前C/C++编译器标准都遵照IEEE制定的
浮点数
表示法来进行float,double运算。这种结构是一种科学计数法,用符号、指数和尾数来表示,底数定为2——即把一个
浮点数
表示为尾数乘以2的指数次方再添上符号。下面是具体的规格: 符号位
快速掌握单精度
浮点数
的十进制转二进制方法
深入浅出讲解单精度
浮点数
的二进制
转换
技巧,聚焦十进制到二进制的精确
转换
过程。掌握IEEE 754标准下的符号位、阶码与尾数处理,让单精度
浮点数
转换
不再晦涩难懂。
浮点数
的二进制表示2
例四 (20.59375)10 =(10100.10011 )2
首先分别将整数和分数部分
转换
成二进制数:
20.59375=10100 .10011
然后移动小数点,使其在第1,2位之间
10100 .10011 =1 .010010011 ×2^4 即e=4
于是得到:
S=0, E=4+127=131, M=010010011
最后得到32位
浮点数
的二进制存储格式为:
0 100 000
C#
111,120
社区成员
642,537
社区内容
发帖
与我相关
我的任务
C#
.NET技术 C#
复制链接
扫一扫
分享
社区描述
.NET技术 C#
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
让您成为最强悍的C#开发者
试试用AI创作助手写篇文章吧
+ 用AI写文章