2017-10-13 32 views
2

나는 그런 숫자가있는 경우 내가 아는 -127의 :IEEE-754 32 비트 (단 정밀도) 지수 -126 대신

1 | 1001 0001 | 0011 0011 0000 0001 0101 000 
1 sign bit | 8 bit biased exponent | 23 bit fraction/mantissa 
이 가

내가 뺄셈하여 "진짜"지수를 계산할 수를 바이어스 127 (0111 1111)를 편향된 지수로부터 제거한다. 나는. 1001 0001-0111 1111 = 10010 (진짜 지수 18)

1,0011 0011 0000 0001 0101 000 * 2^

18 이제 내 질문 :

있는 경우 (비정규) 그 번호는 다음과 같습니다 :

0 | 0000 0000 | 0000 0000 0000 0000 0000 001 

지수가 -126이고 -127이 아닌 이유는 무엇입니까? 0000 0000-0111 1111 -127이어야하며하지 -126되도록

0,0000 0000 0000 0000 0000 0001 * 2^-126되지 0,0000 0000 0000 0000 0000 0001 * 2^-127

감사와 안부

답변

3

A는 단 정밀도 부동 소수점 2 -126의 암시 지수가 비정규 :

(-1) signbit × 2 -126 × 0.significandbits을

자세한 내용은 https://en.wikipedia.org/wiki/Single-precision_floating-point_format을 참조하십시오.

+0

하지만 -126이 아닌 이유는 무엇입니까 -127 – knowledge

+2

@knowledge 그래서 법선과 비 법선 사이에는 간격이 없습니다. 가장 작은 정규화 된 값은 1의 지수 값을 가지며 2^-126으로 변환되고 유효 숫자에 1을 암시합니다. 따라서 값은 2^-126 * 1.0입니다. 최대 비표준은 significand에서 묵시적 선행 0을 가지며 값은 2^-126 * 0.11111111111111111111111입니다. – dbush