ISO/IEC 9899 2011 §5.2.4.2.2 ¶10 (P48)를 말한다"컴파일러가 비표준 부동 소수점을 구현하지 않을 수도 있습니다"의 중요성은 무엇입니까?
비정규 숫자의 유무 FLT_HAS_SUBNORM, DBL_HAS_SUBNORM, 및 LDBL_HAS_SUBNORM의 구현 - 정의 된 값을 특징으로 :
-1 불확정
0 없음 (형식이 비정상 숫자를 지원하지 않음)
1 현재 (형식이 비정상 숫자를 지원합니다)
무엇을! 그래서 일부 플랫폼에서는 쓸 수 없습니다 double d = 33.3
? 아니면 컴파일러가 자동으로 이것을 333E-1
으로 변환합니까? 정규화되지 않은 부동 소수점 숫자의 유무에 대한 실질적인 중요성은 무엇입니까?
[비정규 번호] (http://en.wikipedia.org/wiki/Denormal_number)가 무엇인지 이해해야합니다. –
33.3 또는 333E-2는 부동 소수점 산술의 정상적인 구현에서 비정상적인 숫자가 아닙니다. IEEE 754 부동 소수점 산술을 사용한다고 가정하면, 보통 수는 지수가 가능한 가장 작은 지수와 같고 일반 숫자처럼 1 비트 대신 0 비트로 시작하는 가수를가집니다. 선두의 1 비트는 일반적으로 함축적입니다. 그것은 물리적으로 저장되지 않습니다. 비정상 숫자는 작다. –