给您一个求浮点数数值范围的通用公式:
设浮点数阶码的数值位为m位,尾数的数值位为n位
(1)浮点数没有规格化之前的数值范围:
最大正数为:2(2m-1)*(1-2-n) (其中m为2的上标,(2m-1)为2的上标,-n为2的上标)
最小正数为:2-(2m-1)*2-n (其中m为2的上标,-(2m-1)为2的上标,-n为2的上标)
最大负数为:-2-(2m-1)*2-n (其中m为2的上标,-(2m-1)为2的上标,-n为2的上标)
最小负数为:-2(2m-1)*(1-2-n) (其中m为2的上标,(2m-1)为2的上标,-n为2的上标)
(2)浮点数规格化后的数值范围(当基数为2时):
最大正数为:2(2m-1)*(1-2-n) (其中m为2的上标,(2m-1)为2的上标,-n为2的上标)
最小正数为:2-(2m-1)*2-1 (其中m为2的上标,-(2m-1)为2的上标,-1为2的上标)
最大负数为:-2-(2m-1)*2-1 (其中m为2的上标,-(2m-1)为2的上标,-1为2的上标)
最小负数为:-2(2m-1)*(1-2-n) (其中m为2的上标,(2m-1)为2的上标,-n为2的上标)