请教关于float, double类型数据传输字节序问题,用IEEE754?

fangcheng 2007-03-14 09:08:11
大家有没有网络传输过浮点数?
怎么处理字节序问题的?
是烦不了直接拷贝主机字节序传输?

还是按照浮点数定义(如IEEE754)处理的?
...全文
1771 18 打赏 收藏 转发到动态 举报
写回复
用AI写文章
18 条回复
切换为时间正序
请发表友善的回复…
发表回复
daidodo 2009-09-23
  • 打赏
  • 举报
回复
根据需要的精度,转换成整数,再按照整数的方式传。
shanglihong 2009-09-23
  • 打赏
  • 举报
回复
学习一下
shanglihong 2009-09-23
  • 打赏
  • 举报
回复
学习一下
UltraBejing 2008-04-30
  • 打赏
  • 举报
回复
等待牛人来答.
meiZiNick 2008-04-30
  • 打赏
  • 举报
回复
什么呀
xbt746 2008-03-28
  • 打赏
  • 举报
回复
楼上昵称牛啊
ReverseEngineering 2007-04-25
  • 打赏
  • 举报
回复
学习一下
  • 打赏
  • 举报
回复
这个,我都是直接传得,还没出现问题。
roger_77 2007-03-27
  • 打赏
  • 举报
回复
mark
Analyst 2007-03-25
  • 打赏
  • 举报
回复
另外浮点数不存在字节序问题
Analyst 2007-03-25
  • 打赏
  • 举报
回复 1
现在的CPU都是遵从IEEE754标准的,浮点数的二进制表示法都是一样的,直接二进制格式传没有问题。
DentistryDoctor 2007-03-24
  • 打赏
  • 举报
回复
将字节顺序及二进制数据一起发送。
chehw 2007-03-24
  • 打赏
  • 举报
回复
发送端在传输之前先发送一个DWORD(0x000000FF),告知自己的字节顺序。(little endian/big endian)

接收端根据自己CPU的字节顺序类型判断是否需对接收的浮点数字节顺序做调整。

可自定义一个协议和处理过程,将字节顺序验证和字节顺序调整等操作封装起来。
abomber2 2007-03-16
  • 打赏
  • 举报
回复
同意二楼的

浮点数 不同cpu的表示 不一样 不是4个字节就可以的
softrain 2007-03-16
  • 打赏
  • 举报
回复
二楼的高明
qxbnit 2007-03-15
  • 打赏
  • 举报
回复
float拆4个byte ,ascii传输
收到后还原
anjuta_c 2007-03-14
  • 打赏
  • 举报
回复
一般不用楼上的方法,因为不同的cpu和不同语言 浮点数的内存表示方法不一样。
同样的内存缓冲区发送到不同的cpu架构上,在解释出来数据很可能都已经乱了。

目前我知道有两种办法
1.把 浮点数当作 字符串来传送
2.采用sun rpc里边的数据打包格式 External Data Representation(Sun's XDR Package)或者
采用corbo标准的Common Data Representation (CDR)
前一个被firebird开源数据库采用,后一个是ACE使用的跨平台数据打包格式
CathySun118 2007-03-14
  • 打赏
  • 举报
回复
我一般使用:
1 memcpy
2 首地址指向

18,356

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 网络编程
c++c语言开发语言 技术论坛(原bbs)
社区管理员
  • 网络编程
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧