今天有几个人跑过来问我,二进制是什么东西?我心想,你们算是问对人了,于是张口就来,这是一个非常神奇的东西,能让1+1等于10,瞬间感觉看到他们头上飘过几个what?
小便准备先给他们解释一下官方说法,于是拿出手机百度搜索了一下,二进制是计算机中采用的一种数制,是数字0和数字1来表示的数。它的基数为2,进位规则是"逢二进一",借位规则是"借一当二"。看完之后,不要说他们,就连我都差点一头雾水。最后决定还是按照我自己的思路给他们讲解吧!
先看一下我们常用的数字,也就是书面上说的十进制,以一个大家喜欢的数字168吧,一路发!为什么说它是十进制数呢,细心一点可以发现它是用数字0到数字9十个数字来表示的一个数,同样的从这里我们也可以认为二进制数就是用数字0和数字1两个数字来表示的数,例如101,事实证明也并无毛病。
168,国语说法是一百六十八,在小学数学里它的意思是个位是8,十位是8,百位是1,它的结果可以用一条数学来表示,即168=1×100+6×10+8×1。也可以换一种比较方便理解的方式来表示,即168=1×102+6×101+8×100,其实这就是十进制数168转化为十进制数的过程。用上面同样的办法我们来尝试将二进制数转化为十进制数,就以101为例。按照小学里学的办法二进制数101=1×22+0×21+1×20=4+0+1=5,5就是二进制数101转化为十进制数的结果。
看到这里,是不是感觉有点似懂非懂的感觉。可以先休息一下,接下来我们来点难度高一点的就是把方向调过来,十进制数转化为二进制数是怎么计算的。
同样的对比方法,先看一下十进制数168是怎么转化为十进制数的?刚才用了乘法,那这里就是用除法了,先用168÷10=16余8,再16÷10=1余6,最后1÷10=0余1;这时候它的结果应该是从后往前看余数就是168,这里要注意的是一定要到商0余1为止。接下来就是十进制数5转化为二进制数,先用5÷2=2余1,再2÷2=1余0,最后1÷2=0余1,从后往前看余数是101,这就是十进制数5转化为二进制数是101。
以上为个人经验,不知道你们看懂了没有。