进制

来源:互联网 发布:spss软件 计量地理学 编辑:程序博客网 时间:2024/05/18 18:03

进制概述:
进制就是进位制,是人们规定的一种进位方法,对于任何一种进制,比如X进制,就表示第一位置上的数运算时逢X进一位。二进制就是逢2进一,依此类推。

进制之间的关系:
计算机的电子元件只能表示两种状态,我们用 0 和 1 表示,由于生活中,我们的数据各种个样,数字,字母,标点符号,还有众多汉字,所以只有0和1是无法表示的。
所以我们就用8个这样的0和1表示一个数据,也是计算机存储时的最小单位byte,单位间的换算关系如下
1byte = 8 bit
1k = 1024byte
1m = 1024k
1g = 1024m
1t = 1024g
只用2进制表示,有时数据会很长,所以我们用别的进制来转换表示,那么它们之间的关系为
二进制 10100010
八进制 101 000 010 -> 502
将二进制数据每三个一组划分,左边不够的用0补齐,然后每组转换成十进制,再组合起来就是此数据对应的八进制表示
十六进制 1010 0010 -> 102
将二进制数据每四个一组划分,左边不够的用0补齐,然后每组转换成十进制,再组合起来就是此数据对应的十六进制表示

不同进制的数据在编程中的表达方法:
有时仅仅给出一个数据,不告诉我们数据的进制,我们就无法知道其实际表示的数据。所以针对不同的进制,我们约定了不同的书写方式。
二进制
由0,1组成,以0b开头
八进制
由0-7组成,以数字0开头
十进制
由0-9组成,整数默认是10进制
十六进制
由0-9 a-f组成,以0x开头。

任意进制到十进制的转换:
位权展开法 (乘法运算)
任意进制转换为十进制后的结果 = 每一位上的系数*基数^位权。即 结果等于系数乘以基数的位权次幂
以十进制 123 举例。系数是每位上实际的数字,基数是10,进制多少,基数就为多少,位权是从右往左,从零编号,依次为0,1,2….
二进制 100 表示为十进制 1*2^2+0*2^1+0*2^0 = 4
八进制 123 表示为十进制 1*8^2+2*8^1+3*8^0 = 83

十进制到任意进制的转换:
除法运算
除以基数,取余数,直到商为0,余数反转,如下图,得到12345
这里写图片描述
快速的进制转换:
8421码
这里写图片描述
把二进制位对应的十进制数字相加,即可快速实现二进制到十进制的转换。而十进制到二进制的转换也可参照上表逆向快速实现转换。

任意X进制到Y进制的转换:
上面我们学习了任意进制与十进制之间的转换,那么任意x进制到y进制的转换,我们可以以十进制为桥梁,实现进制转换。

原创粉丝点击