현재 작업중인 소프트웨어가 있는데, 이는 현재 little-endian
아키텍처에서 실행됩니다. 나는 그것도 big-endian
모드에서 실행하고 싶습니다. 기본 시스템의 endianness에 관계없이 little-endian
데이터를 파일에 쓰고 싶습니다.리틀 엔디안과 빅 엔디안 플로트를 효과적으로 변환합니다.
이것을 달성하기 위해 나는 boost 엔디안 라이브러리를 사용하기로 결정했습니다. 그것은 정수를 효율적으로 변환 할 수 있습니다. 그러나 수레 (및 복식)는 처리 할 수 없습니다.
documentation에는 "부동 소수점 유형이 Boost 1.59.0에서 지원됩니다"라고 나와 있습니다. 그러나 그들은 여전히 1.62
에서 지원되지 않습니다.
플로트는 유효 IEEE 754
수레 (또는 복식)라고 가정 할 수 있습니다. 그러나 그들의 endianness는 기본 시스템에 따라 다를 수 있습니다. 내가 아는 한, 부동 소수점에 htonl
및 ntohl
함수를 사용하는 것은 좋지 않습니다. 그러면 어떻게 될 수 있습니까? 거기에 수레를 처리 할 수있는 모든 헤더 전용 라이브러리가 있습니까? 나는 아무 것도 찾을 수 없었다.
나는, 나는 여러 가지 이유로, 그 방법을 피하고자하는 문자열로 수레를 변환하고, 파일에 그것을 쓸 수 (성능, 디스크 공간, ...) 여기
lib가 필요하지 않으며, 즉각적입니다. 거기보세요 : http://stackoverflow.com/questions/2782725/converting-float-values-from-big-endian-to-little-endian – aCOSwt