Dam*_*ien 6 c c++ serialization ieee-754 floating-point-conversion
已经断言(甚至考虑字节字节序)IEEE754浮点并不保证在平台之间可以交换.
所以:
如果问题是有效的,您能否请举例说明这种情况(首选C或C++)?
动机:一些GPS 制造商在"符合IEEE-754标准的浮点值"中为(例如)纬度,经度和原始数据交换其二进制格式.所以,我无法控制选择文本格式或其他"便携式"格式.因此,我的问题是何时可能会或可能不会发生差异.
IEEE 754第3.4条规定了二进制交换格式编码.给定浮点格式(下面),交换格式将符号位置于最高有效位中,将下一个最高有效位中的偏置指数位置位,并将有效位编码置于最低有效位中.未指定从位到字节的映射,因此系统可以使用little-endian,big-endian或其他排序.
第3.6节规定了各种格式宽度的格式参数,包括64位二进制,其中有一个符号位,11个指数字段位和52个有效位字段位.该子句还规定了指数偏差.
第3.3和3.4条规定了该格式所代表的数据.
因此,为了交换IEEE-754浮点数据,似乎系统只需要就两件事达成一致:使用哪种格式(例如,64位二进制)以及如何来回获取位(例如,如何映射)用于写入文件或网络消息的位到字节.