小数用二进制如何表示(小数点如何用二进制表示)
在生活中,很多人可能想了解和弄清楚老师有没有告诉你小数用二进制怎么表示?的相关问题?那么关于小数用二进制如何表示的答案我来给大家详细解答下。
也许中学老师会告诉5、10、20等等的十进制数字怎么化成二进制数字,但又没有老师告诉你怎么将十进制的0.1变成二进制的小数呢?
我们将一个十进制整数化为二进制是这样操作的:在十进制的计算法则中,将十进制数除以2,得到商和余数;把商除以2,得到商和余数;...重复下去,直到商为0。然后把每次得到的余数按倒序排列,就得到了二进制数字。比如6:
6÷2=3...03÷2=1...11÷2=0...16÷2=3...03÷2=1...11÷2=0...1
倒过来就是110。这就是二进制中的6了。
为什么要这样操作呢?这要从二进制变成十进制的方法谈起。一个二进制数abcdeabcde变成十进制数的方法是e+2d+22c+23b+24ae+2d+22c+23b+24a,这从二进制的计数规则就可以得出:其实就是说a,b,c,d,e分别代表着104,103,102,10,100104,103,102,10,100位,但是二进制的10就是十进制的2,所以就得出上面的公式。从二进制变十进制的方法就不难得出十进制的法则了,不断除以2,计算余数就分别可以得出a,b,c,d,e了。
整数还是挺好办的,那么小数怎么办呢?比如0.1=1100.1=110,而(10)10=(1010)2(10)10=(1010)2,所以有
(110)10=(11010)2(110)10=(11010)2
如果你熟悉二进制的计算,你直接可以在二进制的法则内算1101011010,就得出0.1的二进制表示啦。不过这是一种比较麻烦的方法,关键是我们大多数人都不熟悉二进制的计算。那怎么办呢?我们可以想一种迂回的方法。虽然在我们不懂二进制的具体计算细则,但是我们不难发现,在二进制里除以10还是很容易的,就跟十进制一样,同样是向左移动小数点而已。所以我们不妨先将十进制的小数不断乘以2,然后取整数部分,化为二进制整数,然后再不断除以二进制的10。
比如0.1
0.1×29=51.2(51)10=(110011)2110011÷109=0.0001100110.1×29=51.2(51)10=(110011)2110011÷109=0.000110011
也就是说十进制0.1表示为二进制大约为0.000110011。不难发现,这种操作是“永无止境”的,即十进制的有限小数0.1在二进制中是无限循环小数!这真是一个有趣的事实!
上述小数转换二进制的方法计算量未免还是有点大了。所以经过简化可以变成一个计算量比较小的“乘2取整”法:
对十进制小数乘2得到的整数部分和小数部分,整数部分既是相应的二进制数码,再用2乘小数部分(之前乘后得到新的小数部分),又得到整数和小数部分。如此不断重复,直到小数部分为0或达到精度要求为止。第一次所得到为最高位,最后一次得到为最低位。
比如0.10.1×2=0.20.1×2=0.2,取整为0,小数为0.2;0.2×2=0.40.2×2=0.4,取整为0,小数为0.4;0.4×2=0.80.4×2=0.8,取整为0,小数为0.8;0.8×2=1.60.8×2=1.6,取整为1,小数为0.6;0.6×2=1.20.6×2=1.2,取整为1,小数为0.2;...开始陷入循环了。
不难得到二进制表示为0.000110011...,循环节为0011。其实,大多数十进制有限小数变成二进制的时候都是无限循环的,除了那些12n12n类型的小数。当然,不管怎么变,在十进制的无理数也不会变成二进制的有理数,反之亦然。
温馨提示:通过以上关于老师有没有告诉你小数用二进制怎么表示?内容介绍后,相信大家有新的了解,更希望可以对你有所帮助。