就谈论正数好了.
网上说正数的时候是从 1.401298E-45 到 3.402823E38
我所学到的知识是 32 位中 1 位用来标记正负,在第一位,后八位用来表示指数,为避免错误指数八位把-127 到 127 在数轴上向右平移 127 得到 0-254 (不过话说 11111111 是 255 啊,不允许使用么?)
并且,在处理浮点数时默认剩下的尾数部分( 23 位)是从 2^(-1)开始的,整数部分已经被自动看做 1.
所以我认为整数单精度浮点数的最小值应该为
1.0 * 2 ^ (-127)
但这个答案是
5.8774717541114375398436826861112e-39 (十进制)
完全不一样啊..
请问单精度浮点数的上下限是怎么样的?
为什么我的想法是错误的?
谢谢.
网上说正数的时候是从 1.401298E-45 到 3.402823E38
我所学到的知识是 32 位中 1 位用来标记正负,在第一位,后八位用来表示指数,为避免错误指数八位把-127 到 127 在数轴上向右平移 127 得到 0-254 (不过话说 11111111 是 255 啊,不允许使用么?)
并且,在处理浮点数时默认剩下的尾数部分( 23 位)是从 2^(-1)开始的,整数部分已经被自动看做 1.
所以我认为整数单精度浮点数的最小值应该为
1.0 * 2 ^ (-127)
但这个答案是
5.8774717541114375398436826861112e-39 (十进制)
完全不一样啊..
请问单精度浮点数的上下限是怎么样的?
为什么我的想法是错误的?
谢谢.