回忆小学学的十进制小数的意义:
15.23这个小数,1是十位,5是个位,2是十分位,3是百分位。这个小数的意义为:,因为最低位为百分位,所以分母是100。
小数末尾加上0或去掉0,小数的大小不变,但是小数的意义会改变。
1.5的意义是,但1.50的意义是。
同理,二进制小数也可以这样来分析:
… 十六位 八位 四位 二位 个位 . 二分位 四分位 八分位 十六分位
二进制小数011.01,最低位是四分位,所以分母为4,去掉小数点后01101是13,所以分子为13,这个小数的意义为,化成十进制小数就是3.25。
二进制小数011.010,最低位是八分位,所以分母为8,去掉小数点后011010是16+10=26,这个小数的意义为,化成十进制小数仍然为3.25。
二进制小数末尾添上0或去掉0,小数的大小也不变,但是意义不一样。
二进制小数111.1,最高位符号位为1,表示一个负数。最低位为二分位,分母为2。去掉小数点后,1111表示-1(这个后面会讲到),所以分子为-1,于是这个小数的意义就是,也就是-0.5。
正二进制整数或小数的开头添上0或去掉0,数的大小不变。负二进制整数或小数的开头添上1或去掉1,数的大小也不变。
接下来简单说下二进制负整数怎么转化成十进制数。
1011的最高位为八位,表示-8,剩下的三位011表示3,所以整个数就是-8+3=-5
1111表示的就是-8+7=-1
111表示的就是-4+3=-1(最高位为四位,表示-4)
1000表示的就是-8+0=-8
加上小数点后,111.1表示的就是-1/2=-0.5,11.11表示的就是-1/4=-0.25,1.111表示的就是-1/8=-0.125。
11010011的最高位为一百二十八位,表示-128,剩下的七位101_0011表示5×16+3=83,所以整个数就是-128+83=-45。
把一个分数化为最简分数,如果分母含有2和5以外的质因数,这个数化成十进制小数后就是无限循环小数。
如果分母含有2以外的质因数,这个数化成二进制小数后就是无限循环小数。
例如24/15,化简后是8/5,分母只含有质因数5,所以化成十进制小数后是有限小数,但是化成二进制小数后却是无限循环小数。
分母是2的整数次方的分数才能化成二进制有限小数。0.1的分母是10,不是2的整数次方,所以化成二进制小数后是无限循环小数,在计算机中是无法用浮点数精确表示的。