我是现代信息技术学院的李燕飞,在计算机中小数的存储方式与上一讲述的数据存储方式一样,都是通过位权来实现的,只不过整数部分从个位开始是乘以2的0次方依次往下增;而小数则是乘以2的-1次方依次往下减。
而小数之所以会在计算时失误,就是因为有些十进制小数无法用二进制精确的表示出来,比如0.1,此时计算机会使用相近的的数据进行表示。
很多编程语言都使用了浮点数表示小数,浮点数分为符号,尾数,基数,和指数四个部分来组成,因为基数是2,所以一般忽略。符号位与整数一样,1表示负数,0表示正数。而尾数部分使用了整数部分固定为一的规格化表示,指数部分使用了移码表示法。
规格化表示目的是统一形式,一种数据用着不同的表示方法,但多种表示方法对于计算机来说不好处理,于是规格化表示规定整数部分为一,又因整数部分一定是一,这样做还能够少许提升数据表示范围;移码表示法就是将指数部分表示范围的中间值规定为零,其上为正,其下为负,因为小数要用到2的负几次方,用移码表示法就可以在不使用符号位的情况下表示负数了。例如指数部分有八位,则将最大值255的一半127设为0,那么128为1、126为-1,以此类推。
标签:表示,第三章,规格化,程序,整数,移码,怎样,部分,小数
From: https://www.cnblogs.com/lyf666/p/18006904