二进制十进制转换史上最牛逼算法!!
十进制转二进制
相信学过计算机的同学一定对二进制不陌生,计算机底层的通讯就是二进制嘛!二进制由0和1组成,那么怎么快速的对一个十进制数转换成二进制数呢?
最古老的方法大家还记得怎么转换吗?比如35这个十进制数?
将这个数除以2,等于17余1,然后将17再除以2,等于8余1…直到不能再被2整除,然后将余数从后往前的顺序写出来就是二进制数100011。
这个是我们上初中时候老师教的,但是太麻烦了,下面我教大家一种新的算法:
学习这个新算法的时候我们首先要了解下问题:
…、、、、、、、、
…256、128、64、32、16、8、4、2、1
第一步,我们先把倒着写出来,写多少呢?根据你要算的这个十进制数的大小,比如35,那你就从32开始往前写就行了:
32、16、8、4、2、1
从上面这些数里,我们想算十进制的35,它等于32+2+1,那我就在32、2、1下面标1,其余的标0:
通过上图,二进制就是100011。简单不?如果你看懂了,你就试试其他的数吧。
二进制转十进制
十进制转二进制我们刚才学会了,那么二进制怎么转十进制呢?是不是有点懵?
假如有一个二进制数100011,怎么转换呢,非常简单!还是先把写下来,写多少?根据二进制的位数,100011是6位,那我就从后往前数6位写下来:
然后把这个二进制数从前往后依次写在十进制数上:
最后把上标为1的加在一起:
32 + 2 + 1 = 35
是不是很简单?只要你记住这几个数()你就可以快速的十进制二进制互转。那有的同学问了,如果十进制数是999999999转换二进制是多少?呵呵哒!这么大的数你用计算器!你知道怎么算就行了,有计算器呢