2014-11-18 2 views
-2

왜 배 정밀도 형식은 소수 비트를 두 배로 늘리는 것이 아니라 각 필드의 비트를 단순히 두 배로 늘리지 않습니까? 또한 숨겨진 비트 란 무엇이며 왜 사용됩니까?IEEE 단 정밀도 부동 소수점 형식

+1

사양에 숨겨진 비트가 없습니다. 정말로 두 개의 부호 비트가 필요합니까? – Deduplicator

+1

@Deduplicator 그는 편향된 지수가 [-127, 126] 범위에있을 때 가정되는 암시적인 1 비트를 의미합니다. 즉, 2^(e-bias) * 1.mmmmmmmmm입니다. 여기서 1은 숨겨진 비트입니다. –

+0

부호 비트를 두 배로 할 필요가 없습니다. 초 동안, binary32의 지수는 -126에서 +127 사이의 모든 의도와 목적에 사용되며 최대 10^38까지의 값을 허용합니다. 지수 필드의 폭을 두 배로하면 지수의 크기를 제곱 할 수 있습니다. 10^(38^2) = 10^1444의 값은 의미가 없도록 너무 커서 상위 지수 비트는 절대로 실제로 사용되지 않습니다. 이것은 더 적은 수의 새로운 비트가 지수에 가해지고 더 많은 가수가 더 많이 필요하기 때문입니다. –

답변

3

내 평가는 사실이 아니다 :

  • IEEE754 16 비트 플로우트 : 1 부호 비트, 5 지수 비트 10 (+1), 유효 비트 EXP ∈ [-14, 15]
  • IEEE754 32 비트 부동 소수점 : 1 부호 비트, 8 지수 비트, 23 (+1) 유효 비트, ∈ [-126, 127]
  • IEEE754 64 비트 부동 소수점 : 1 부호 비트, 11 지수 비트, 52 +1) significand bits, exp ∈ [-1022, 1023]
  • IEEE754 80 비트 부동 소수점 : 1 부호 비트, 15 지수 비트, 64 (+0) significand bits, exp ∈ [-16382, 16383]

아무도 꽤 두 배가되지 않습니다. 아마도 더 넓은 범위의 정확도보다 더 유용 할 것입니다. 표현할 수있는 값의 범위가 ... 지수의 크기에 기하 급수적으로 증가한다는 것을 기억하십시오.

+1

1) 실제로 IEEE754 80 비트 플로트가 있습니까? [이진수와 소수점] (http://en.wikipedia.org/wiki/IEEE_floating_point#Basic_and_interchange_formats)이 있지만 소수점을 사용하는 구현은 없습니다. – chux

+2

@chux IEEE754는 80 비트 부동 소수점 형식을 지정하지 않습니다. binary2, binary64, binary128, decimal64 및 decimal128 만 지정합니다. 그러나 IEEE754 구현이 확장형 및 확장형으로 표준을 확장하도록 명시 적으로 허용합니다. –

관련 문제