我有一個工作軟件,目前運行在little-endian
體系結構。我也想讓它在big-endian
模式下運行。我希望將little-endian
數據寫入文件,而不管底層系統的字節順序如何。轉換小端和大端浮點有效
爲了達到這個目的,我決定使用boost endian庫。它可以有效地轉換整數。但它無法處理浮動(和雙打)。
它在documentation中聲明:「浮點類型將在Boost 1.59.0中受支持」。但是他們仍然不支持1.62
。
我可以假設,浮游物是有效的IEEE 754
浮游物(或雙打)。但是它們的排列順序可能根據底層系統而有所不同。據我所知,不建議在浮點數上使用htonl
和ntohl
函數。那怎麼可能呢?有沒有任何只有標題的庫,它也可以處理浮游物?我無法找到任何。
我可以在花車轉換爲字符串,並編寫成一個文件,我想避免的方法,原因是多方面的(性能,磁盤空間,...)
不需要任何lib,它非常直接。看看那裏:http://stackoverflow.com/questions/2782725/converting-float-values-from-big-endian-to-little-endian – aCOSwt