一、进制
在日常生活中,人们最习惯用十进制,逢 10 进 1 。游戏中屏幕上见到的都是十进制的数,如生命值 500 ,等等;此外,还有 60 进制,如 60 秒为 1 分钟,逢 60 进 1 ;十六进制,如过去的重量单位, 16 老两为 1 斤,逢 16 进 1 ;十二进制,如 12 个月为 1 年,12 个为 1 打,逢 12 进 1 ;二进制,如两个为一双,逢 2 进 1 。为区别二进制数和十进制数,二进制数一般在尾部加字母B(或者在二进制数的右下角写上2)。十进制数一般不作标记。
二、常用进位计数制
数 制 | 基 | 数 码 | 尾 标 |
十六进制 | 16 | 0.1.2.3.4.5.6.7.8.9.A.B.C.D.E.F ABCDEF分别代表10、11、12、13、14、15 | H(Hexadecimal) |
十进制 | 10 | 0.1.2.3.4.5.6.7.8.9 | D(Decimal) |
八进制 | 8 | 0.1.2.3.4.5.6.7 | O(Octal) |
二进制 | 2 | 0.1 | B(Binary) |
1、十进制→二进制
用2辗转相除至结果为1,将余数和最后的1从下向上倒序写出就是结果(适用整数)
例:302
302/2=151余0
151/2=75 余1
75/2=37余1
37/2=18余1
18/2=9余0
9/2=4余1
4/2=2余0
2/2=1余0
结果为:100101110
2、二进制→十六进制
十六进制基数16为二进制基数2的4次方,因此每4个二进制位对应1个十六进制位
例:100100100010111110111110111001001→数位不足以被4整除,就在左端加0补足
000100100100010111110111110111001001→将每4位看作一个独立的部分
0001.0010.0100.0101.1111.0111.1101.1100.1001→转化为相应的十进制数
1 2 4 5 15 7 13 12 9→转化为相应的十六进制数
1 2 4 5 F 7 D C 9→从左到右依次排列
结果为:1245F7DC9
3、十进制转换成十六进制
十进制转换为十六进制,只需用十进制的数除以 16 ,然后将余数拼接起来就行了。
4、十六进制、八进制、二进制--->十进制
16进制、8进制、2进制转十进制方法很简单,都是权数的n-1次方顺序展开后求和即可。
例如:16进制178转换为十进制
=1×162+7×161+8×160=256+112+8=376
8进制502转换为十进制
=5×82+0×81+2×80=320+0+2=322
2进制1101011转换为十进制
=1×26+1×25+0×24+1×23+0×22+1×21+1×20=64+32+0+8+0+2+1=107
5、带有小数部分转换
二进制小数→十进制小数
(1010101.1011)2=( )10
解:(1010101.1011)2=26+24+22+20+2-1+2-3+2-4 =64+16+4+1+0.5+0.125+0.0625=85.6875
十进制小数→二进制小数方法:“乘2取整”
对十进制小数乘2得到的整数部分和小数部分,整数部分既是相应的二进制数码,再用2乘小数部分(之前乘后得到新的小数部分),又得到整数和小数部分.
如此不断重复,直到小数部分为0或达到精度要求为止.第一次所得到为最高位,最后一次得到为最低位
如:0.25的二进制
0.25*2=0.5 取整是0
0.5*2=1.0 取整是1
即0.25的二进制为 0.01 ( 第一次所得到为最高位,最后一次得到为最低位)
0.8125的二进制
0.8125*2=1.625 取整是1
0.625*2=1.25 取整是1
0.25*2=0.5 取整是0
0.5*2=1.0 取整是1
即0.8125的二进制是0.1101(第一次所得到为最高位,最后一次得到为最低位)
三、小结
由以上例题初学者也许看出了规律,即:
1、其他进制转换到十进制,全部是各进制按权数的n-1次方展开并求和;
2、十进制小数转换二进制小数方法:“乘2取整”
3、十进制转换为其他进制,则是“除各进制数基数取余法”,直至商为零,然后将所有余数从后向前排列。