进位制数
一、进位制
- 目前使用比较广泛的几种进制数就是二进制、八进制、十进制和十六进制。
1、进位制表数法
- 二进制:基数为 2,数字符号只有“0”和“1”,逢 2 进 1,其他进制诸如八进制、十进制和十六进制也都类似。
- 习惯上,在十六进制数后面加上“H”,如17DBH;而对于二进制则用“B”来表示,如10101100B;八进制则是“O”,如147O。
- 十进制、二进制和十六进制在计算机中应用比较广泛,因此列出对照表:
2、进位制计数法的数学表达式
- 计算机中很多东西的背后都是由数学原理在支持的,进位制也是如此:
二、常用进位制之间的转换
1、二进制与十进制
- 二进制与十进制的互相转换,也就是将一个数从十进制转为二进制,或者将一个数从二进制转为十进制。
1.1、二进制转十进制
- 将一个二进制数转为十进制数,有两种方法,如下:
1.2、十进制转二进制
- 十进制转二进制也有两种方法:
(1)、辗转相除法
- 原理就是,将整数与小数部分分开,整数部分反复除2求余,直到商为 0;小数部分反复乘 2 取整数部分,直到小数为0.
- 示例,将十进制数 123.6875 转二进制:
- 首先处理整数部分:
- 所以整数部分的二进制为:1111011. 接着处理小数部分:
- 所以小数部分的二进制数:0.1011
- 所以整个数的二进制表示就是:1111011.1011
(2)、减权定位法
- 当十进制数比较大时,可以采用减权定位法,从而减少重复除法(乘法)的次数,如下:
- 所以十进制数5148 的二进制数就是 1010000011100。
- 其计算步骤,首先找一个不大于十进制数本身的 2n ,而这个 n 就是二进制数的最高位,然后将 2n 到 20,用十进制数减去 2n 得到的差,再找一个不大于这个差的 2 的幂,依次类推,直到差为 0.。对应的 2n 上有权的记为 1,没有的记为 0,按从高位到低位排列出来的 10 字串就是二进制数。
2、二进制与八进制、十六进制的转换
- 由于 23=8,24=16,故 3 位二进制数正好对应一位 8 进制数,4 位二进制数对应一位 16 进制数。因此有如下规律:
- 故二进制数 1111000010.01101 对应八进制数 1702.32.
- 对应的十六进制数就是 3C2.68.
- 而将八进制或十六进制转二进制,则过程相逆即可。