1. 常见的进制
进制 | 组成 | 基数 | 运算法则 | 表现形式 |
---|---|---|---|---|
二进制 | 由0、1组成 | 2 | 逢二进一(加法)、借一当二(减法) | 0b开头 |
八进制 | 由0、1、2、3、4、5、6、7组成 | 8 | 逢八进一(加法)、借一当八(减法) | 0开头 |
十进制 | 由0、1、2、3、4、5、6、7、8、9组成 | 10 | 逢十进一(加法)、借一当十(减法) | 整数默认十进制 |
十六进制 | 由0、1、2、3、4、5、6、7、8、9、A、B、C、D、E、F组成 | 16 | 逢十六进一(加法)、借一当十六(减法) | 0x开头 |
2. 进制之间的转换
2.1 任意进制转十进制
方法:系数 * 基数权次幂 相加
- 系数:就是每一位上的数据。
- 基数:几进制,基数就是几。
- 权 : 数位从右往左,0开始编号,对应位上的编号即为该位的权。
- 结果:把系数 * 基数的权次幂相加即可。
2.1.1 二进制转十进制
8421快速转换法:
2.1.2 八进制转十进制
2.1.3 十六进制转十进制
0、1、2、3、4、5、6、7、8、9、 A(10) 、B(11)、C(12)、D(13)、E(14)、F(15)
2.2 十进制转换其他进制
①转换为整数:除基取余(商为0停止),逆序排序(余数)
以十进制转二进制为例:
②转换为小数:乘基去整(小数部分为0,或取到对应有效位停止),顺序排序(整数部)
2.3 二进制与八进制互转
2.3.1 二转八
取三合一法,即从二进制的小数点为分界点,向左(向右)每三位取成一位,不足补0,接着将这三位二进制按权相加,得到的数就是一位八位二进制数,然后,按顺序进行排列,小数点的位置不变,得到的数字就是对应的八进制数。
将0b101110.101转换为八进制为56.5
将0b1101.1转换为八进制为15.4
2.3.2 八转二
取一分三法,即将一位八进制数分解成三位二进制数,用三位二进制按权相加去凑这位八进制数,小数点位置照旧。上面的逆运算。
2.4 二进制与十六进制互转
2.4.1 二转十六
取四合一法,即从二进制的小数点为分界点,向左(向右)每四位取成一位,不足补0,接着将这四位二进制按权相加,得到的数就是一位十六位二进制数,然后,按顺序进行排列,小数点的位置不变,得到的数字就是对应的十六进制数。
2.4.2 十六转二
取一分四法,即将一位十六进制数分解成四位二进制数,用四位二进制按权相加去凑这位十六进制数,小数点位置照旧。上面的逆运算。
2.5 八进制与十六进制互转
较为复杂的转换,其实都可以使用二进制作为跳板。
2.5.1 八转十六
如八进制转换为十六进制,可先将八进制转换成二进制(取一分三),再用得到的二进制转换成十六进制(取四合一)即可。
2.5.2 十六转八
同理,十六进制转换成八进制,可先将十六进制转换成二(取一分四)进制,再用得到的二进制转换成八进制(取三合一)即可。