2011-03-09 3 views
1

직렬화 된 형식에서 사전 식 비교가 부동 소수점 비교와 동일하도록 부동 소수점을 직렬화하는 방법을 찾고 있습니다. 나는 그것이 형태로 저장하여 가능하다고 생각 :부동 소수점 직렬화, 사전 식 비교 == 부동 소수점 비교

| signed bit (1 for positive) | exponent | significand | 

지수 및 유효 숫자가 빅 엔디안으로 직렬화 할 것이며 보수가 음수에 대해 수행 될 것이다.

이 방법이 유용할까요? NaN에서 깨지면 신경 쓸 필요는 없지만 INF 비교 작업을하면 좋을 것입니다.

답변

3

IEEE 숫자 형식은 "일반"정수 비교를 사용할 수 있도록 특별히 설계되었습니다. 그러나 이것은 동일한 부호의 두 숫자가 비교 될 때만 적용됩니다.

숫자가 음수 일 때 보완하기위한 제안은 소리이므로이 방법이 효과적입니다.

+ -Inf : s 및 비정규 숫자에서 작동합니다. 그러나 NaN : s는 작동하지 않거나 오히려 inf보다 큰 것으로 간주됩니다.

유일한 문제는 "-Zero"(즉, 부호 = 1, 지수 = 0 및 가수 = 0)입니다. IEEE에 따르면, 0 == -Zero. Zero를 Zero로 내보내고 다른 것으로 취급하거나 비교 루틴에 특수 코드를 추가할지 결정해야합니다.