进制介绍
进制就是人为指定的进位制,X进制就是逢X进一
我们最常见的进制就是十进制,当然,在计算机中最常见的就是二进制,除此之外,还有八进制、十六进制等。
首先我们就要了解一下这些进制的组成成分:
二进制由0和1组成,逢2进1
八进制由0~7组成,逢8进1
十进制由0~9组成,逢10进1
十六进制由0 ~ 9和a ~ f(不分大小写)组成
进制的前缀
这么多进制有时会导致我们的数据变得混乱,举个例子:
我有一个数:1001,那么问题来了,我要表示的究竟是十进制的一千零一还是二进制的1001呢?不仅如此,八进制和十六进制的1001也有不同的表示,那这就会造成数据的混乱了。
为了解决这个问题,会给不同进制的数带上不同的前缀,具体如下
进制 前缀 举例
二进制 0b 0b1001
八进制 0 01001
十进制 没有前缀默认为十进制 1001
十六进制 0x 0x1001
通过给数据加上前缀,我们就可以很好地区分它到底是一个什么进制的数据,就解决了数据混乱的问题
那么接下来我们就要思考,既然我们经常使用的是十进制,而计算机只能读懂二进制,那么十进制数字是怎么转换成二进制的呢?下面我们我们就来介绍一下进制之间的互相转换。
进制转换
进制的转换可以分为三大类:十进制到任意进制的转换、任意进制到十进制的转换、任意进制之间的转换,接下来我们一一介绍:
十进制转换为任意进制
十进制转换为其他进制主要是使用 除基取余 直到商为0 余数反转的方法,这个”基“其实就是你要转换为X进制,这个基就是X。通过图片清楚的看一下:
通过这种步骤,我们就可以实现从十进制到其他进制的转换,这里我向二进制转换,所以除2,如果想转为其他进制,相应的除8、10、16即可。
任意进制转换为十进制
要将任意进制转为十进制,我们使用的是位权展开法。
我们先用一组十进制数据看一下:
1234=1000+200+30+4
=1 *10^3+2 *10^2+3 *10^1+4 *10^1
=1000+200+30+4
=1234
不难发现每组数据由三部分组成:
系数:每一位对应的数值
基数:X进制到十进制转换,基数就为X
权:我们对每一位从右向左开始编号,并且编号是从0开始的,就得到了每一位上的”权“
每一组的数据=系数*基数^权
————————————————