偏置常数
- 通常编码位数为n时,bias取,或者,当bias为,时移码和补码仅第一位不同,移码用来表示浮点数的阶。
浮点数格式的规格化数的表示范围
- 32位单精度浮点数
单精度bias为,为127
双精度bias为,为1023 - 64位双精度格式
第0位数符S,第1~11位为移码表示的阶码,第12到63位为二进制原码小数表示的尾数M,规格化尾数的小数点后第一位总是1,故规定第1位默认的1不明显表示出来,这样可以用52个数位表示53有效数字。
为什么32位单精度浮点规格化的偏置常数用127,而不是128?
- 用127,阶码的范围是0000 0001(-126)~1111 1110(127)
- 用128,阶码的范围会变成0000 0001 (-127)~1111 1110(126)
显然如果使用128作为偏置常数,能表示的最大的指数是126,比127小的多,所以使用127作为偏置常数。