2010-02-14 7 views
2

의 지수 부동 소수점의 지수가 127만큼 이동하는 이유는 무엇입니까?
글쎄, 진짜 질문입니다 : 2의 보수 표기법과 비교하여 그러한 표기법의 장점은 무엇입니까?IEEE 754

답변

6

저장된 지수는 부호가 없으므로 정수 명령어를 사용하여 부동 소수점 값을 비교할 수 있습니다. 전체 부동 소수점 값은 비교를 위해 부호가있는 정수 값으로 처리 될 수 있습니다 (2가 아닌).

+0

2의 보수 표기법을 사용하면 동일하게 작동하지 않겠습니까? –

+0

이것은 사실이 아닙니다. 두 개의 음수 부동 소수점 값은 부호있는 정수로 제대로 비교되지 않습니다. 다른 모든 경우는 제대로 작동합니다. –

+0

@Stephen : 그렇습니다. 부동 소수점 숫자는 부호가있는 정수로 비교 될 수 있지만 두 자리의 정수는 아닙니다. 부호 비트는 특별한 경우 처리가 필요합니다. –

0

32 비트 부동 소수점의 지수는 8 비트로 구성되지만 부호 비트는 없습니다. 따라서 범위는 효과적으로 [0; 255]입니다. 숫자 < 2^0을 나타내려면 해당 범위가 127만큼 이동되어 [-127; 128]이됩니다.

그런 식으로 매우 작은 숫자를 매우 정확하게 나타낼 수 있습니다. [0; 255] 범위에서, 작은 숫자는 가수의 제로가 많은 2^0 * 0.mantissa으로 표시되어야합니다. 그러나 [-127; 128] 범위의 경우 작은 숫자는 2^-126 * 0.mantissa (가수의 불필요한 0은 적음)으로 표시 될 수 있으므로 더 정확합니다. 희망을 얻으십시오.

+0

저는 그가 2의 보수 대신 왜 오프셋이 사용되는지 묻고 있다고 생각합니다. –

+0

죄송합니다. U2의 의미를 모르 셨습니다. – AndiDog

+0

Hmmm 어딘가에서 이름 'U2'표기법을 발견했으며, 이는 약어라고 생각했습니다. 지금 내가 구글로 그것을, 나는 그것이 어떤 종류의 실수라고 생각한다. Obvouisly 나는 2의 보수 표기법에 대해 생각하고있었습니다. –

1

일부 잘못된 정보를 수정하기 위해서 : 그것은 단지 2^n * 1.mantissa이고, 소수점의 infront는 암시 적으로 저장됩니다.

+0

예, 1.가 있습니다. –

+0

내 대답을 downvote 했습니까? 그것은 잘못된 정보가 아닙니다. 하나는 지수> -126에 대해서만 암시 적으로 저장되지만 -126에 대해서는 0이 암시 적으로 저장됩니다. 그것은 "비정규 화 번호"라고 불립니다. – AndiDog

+0

나는 당신의 대답을 downvote하지 않았지만 당신의 대답은 여전히 ​​오도 된/잘못된 것입니다. 당신은 2^-126 * 0 가증 언급하지만 지수가 -126이면 지수 + 바이어스 = 1 그래서 그것은 비정규 숫자가 아니므로 1은 암시 적으로 저장됩니다.또한 "작은 숫자"만 언급하기 때문에 컷오프는 어디에 있습니까? –

1

바이어스와 2의 보수 사이의 지수의 표현 가능한 범위에 약간의 차이가 있음에 유의하십시오. IEEE 표준은 (-127 ~ +128) 범위의 지수를 지원하지만 2의 보수이면 (-128 ~ +127) 지수를 지원합니다. 나는 표준이 편향표를 선택하는 이유를 정말로 모르지만위원회 위원들은 극소수보다는 극도로 많은 수를 허용하는 것이 더 유용하다고 생각했을지도 모른다.

+0

IEEE 표준은 실제로 -126에서 +127 사이의 단 정밀도 지수를 지원합니다. 대개 -127 및 +128로 매핑되는 지수 인코딩은 특수한 의미 (0과 비정규, 무한대 및 NaN)를 갖습니다. –

1

@Stephen 캐논, ysap의 대답에 대한 응답 (죄송합니다, 이것은 내 대답에 후속 코멘트 있었어야하지만, 원래의 대답은 등록되지 않은 사용자로 입력 된, 그래서 정말 말씀 드릴 수 없습니다 아직).

스티븐, 분명히 당신 말이 맞아요, 제가 언급 한 지수 범위는 틀렸지 만 대답의 정신은 여전히 ​​적용됩니다. 그것이 편향된 값 대신에 2의 보수이고 0x00과 0xFF 값이 여전히 특별한 값이라고 가정한다면, 편향된 지수는 2의 보수 지수보다 큰 (2x) 숫자를 허용합니다.

+0

아, 전적으로 동의합니다. 여기, 당신은 = 할 수있는 몇 가지 담당자가있어 =) –

관련 문제