2012-06-20 2 views

답변

3

아니, 포인트 부동 2 보수 표현을 사용하지 않고, 모든 바이너리 구현 부호 비트를 가지고, 그것은 NaN을 경우를 제외하고 (모든 값에 대한 보장은 ... 특별한 경우이다 부호는 의미가 없음) 부동 소수점 숫자의 정수 표현을 테스트 할 수 있습니다 첫 번째 비트가 설정되면 2의 정수 또한 음수이기 때문입니다. 그러나 유효 숫자와 지수 모두 2의 보수 표현을 사용하지 않습니다.

+0

IEEE 754 표준에 따라 NaN에는 부호 비트가 있습니다. NaN을 사용하는 순서 관계의 모든 테스트가 false를 반환하기 때문에 0과 비교하여 테스트 할 수는 없지만 언어에 따라 함수를 사용하여 부호 비트를 개별적으로 검사 할 수 있습니다. –

+0

예, NaN에는 내부 부호 비트가 있지만 의미는 없습니다. NaN은 "Not a Number"이므로 부호 나 지수/가수는 의미가 없습니다. 가수의 비트를 사용할 수 있습니다 (MSB가 조용한 NaN/신호 NaN 인 경우를 제외하고)를 오류 코드로 사용할 수 있지만 (부호 비트를 의미에 포함합니다) 정수 비교 <0이면 작동합니다 "양수"또는 "음수"NaN이 없기 때문에 다른 모든 숫자의 NaN은 NaN에서 작동하지 않습니다. –

0

부동 소수점 표현에는 여러 가지가 있지만, 대부분은 부호 비트 (1 = 양수)와 유사하고 2s 보수 지수 값 다음에 가장 중요한 2s 보수 가수 값입니다. 지수가 0 일 때 1s 위치의 비트.

이 배열에서 더 큰/더 작은 정수 비교를 사용할 수 있습니다.

위의 편집

분명 결함이있는 메모리 기반으로하지만, 좋은 설명은 http://en.wikipedia.org/wiki/Binary32에서이 끝났된다. 기본적

...

  • 첫 번째 비트는 가수
  • 다음 몇 비트는 지수 부호 있거나있을 수있다의 부호있는 숫자의 기호 인 2의 보수를 사용하여 서명.
  • 나머지 비트는 암시 적 선두에 "1"을 뺀 값입니다.
  • 제로는
+0

틀린. 지수 나 가수는 2의 보수를 사용하지 않습니다. –

+0

"정수 비교"에 따르면 부동 소수점 숫자의 인코딩을 정수로 다시 해석하여 비교하는 경우 음수 일 경우 실패합니다. 또한 -0이 +0과 같다고보고하지 않습니다. –

관련 문제