当前位置: 技术问答>linux和unix
float数据格式转换
来源: 互联网 发布时间:2015-11-27
本文导语: 从网络上接收的TCP包中FLOAT 数值怎么转换成本地的格式? 即float数据从网络字节转换成主机字节,linux c环境,接收的是java数据包 ntohl()和ntohs()都会出错。 曾经拿18.1测试 float f=18.1; float...
从网络上接收的TCP包中FLOAT 数值怎么转换成本地的格式?
即float数据从网络字节转换成主机字节,linux c环境,接收的是java数据包
ntohl()和ntohs()都会出错。
曾经拿18.1测试
float f=18.1;
float ff=htonl(f);
float fff=ntohl(ff)
f和fff差别很大
即float数据从网络字节转换成主机字节,linux c环境,接收的是java数据包
ntohl()和ntohs()都会出错。
曾经拿18.1测试
float f=18.1;
float ff=htonl(f);
float fff=ntohl(ff)
f和fff差别很大
|
htonl()只能处理整数,所以你不能这么用。对方是怎么发float的?是不是转换成了字符串?
|
当然了, htonl是将主机的无符号长整形数转换成网络字节顺序。 你在本机上的第一步就出错了。