十进制和二进制转换

640 阅读3分钟

十进制是有0到9的数字组成的,二进制则是有0,1两个数字组成,那么为什么人类的计数方式是十进制,电脑的计数方式是二进制呢,十进制和二进制的本质是什么,他们是不是有什么共同点,或者说计数方式的通用点,十进制怎么转换成二进制,他们能不能快速进行转换。

1.我们来了解一下我们比较常用的十进制数,比如数字 13245 这是一个五位数,从右➡️左分别有个,十,百,千,万组成的那么可以将十进制数据转换成下面这样

13245=1*10000+3*1000+2*100+4*10+5*1
     =1*10⁴+3*10³+2*10²+4*10¹+5*10⁰

如何将十进制转换成二进制数据呢,只需要将10进制数不断除以2取余,直到最后余数小于2,如何从下往上将余数拼接一起就能得到对应二进制数据。这里以十进制数 13245为例,得到的二进制数是 11001110111101

2.现在我们将刚刚得到二进制数据进行十进制转换,看看得到的结果是不是 13245 ,那么怎么进行二进制转换呢,

2进制                             10进制
  |                                |
11001110111101=1*2¹³+1*2¹²+1*2⁹+1*2⁸+1*2⁷+1*2⁵+1*2⁴+1*2³+1*2²+1*2⁰

二进制转换成10进制实际上也是根据位数来成衣对应的指数幂,那么我们可以得到结论,不管是几进制,如果转换成10进制的话都是对应的位数数字乘以该进制的最大值的位数次幂之和得到的结果,

16进制             10进制
  |                |
33bd=3*16³+3*16²+11*16¹+13*16⁰   (16进制的101112131415,分别用a,b,c,d,e,f来表示)

3.16进制转换10进制的本质也是和二进制一样的,各种进制区别就是每种进制的基础数据种类的数量不一样,其本质都是没有区别的。比如10进制就是0-9,2进制是0和1,16进制是由0-f组成。

我们常见的就这几种了,当然你也可以自己定义,比如20进制,100进制,1000进制等,原理都是一样的,为什么人类采用10进制,而不用二进制或者其他进制来表示数据,试想一下如果人类采用二进制技术,那么表达一个一晚以内的数据就需要13位数字来表示,这对人的大脑是极大的考验,计算机之所以使用二进制,是因为二进制对于计算机来算,数据存储更方便,也更比较适合逻辑判断,只有0和1,而且计算机的计算能离非常强大,所以,不像人类一样位数太多就算不过来了。所以计算机最适合的二进制计数规则。