进制转换
一、数值与数制转换
(一)、数制
计算机中采用的是二进制,因为二进制具有运算简单,易实现且可靠,为逻辑设计提供了有利的途径、节省设备等优点。一般计数都采用进位计数:
逢N进一,N是每种进位计数制表示一位数所需要的符号数目为基数。
二进制:逢二进一,借一当二
八进制:逢八进一,借一当八
十六进制:逢十六进一,借一当十六
(二)、数制转换
转换原则:不同进位计数制之间的转换时根据两个有理数如相等,则两数的整数和分数部分一定分别相等的原则进行的,即转换前两数相等,转换后仍必相等。
十进制:有10个基数:0,1,2,3,4,5,6,7,8,9
二进制:有2个基数:0,1
八进制:有8个基数:0,1,2,3,4,5,6,7
十六进制:有16个基数:0——9,A,B,C,D,E,F(A=10,B=11,C=12,D=13,E=14,F=15)
二、十进制与其他进制之间的转换
(一)、十进制与二进制
(1)十进制——二进制(取商补余)
十进制数除以2,除至0时所得余数按反方向写出,即为二进制数。
例:36除以2得出的商依次是 18 9 4 2 1
所得余数依次是 0 0 1 0 0 1
将余数从右向左写 1 0 0 1 0 0
所得出的100100位二进制数
(2)二进制——十进制
计算公式:a*20+b*21+c*22+...+m*2(n-1)=
以上公式中, a表示二进制数的右边第一位数,b 、c 、...、m 以此类推。
例:1011001由右至左成为十进制为89
1*20+0*21+0*22+1*23+1*24+0*25+1*26
=1+8+16+64
=89
小技巧:为方便计算可将公式变为以下形式:(注:此小技巧仅适用于较小数字的计算)
二进制右数位数 |
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
十进 制数 |
1 |
2 |
4 |
8 |
16 |
32 |
64 |
128 |
公式原型 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
(二)、十进制与八进制
(1)十进制——八进制
十进制数逐次整除8,直至商为0,所得余数按照相反的顺序写出,即为其八进制数。(同十进制——二进制)
(2)八进制——十进制(同 二进制——十进制)
计算公式:a*80+b*81+c*82+...+m*8(n-1)=
小技巧:
从右第n位 |
8 |
7 |
6 |
5 |
4 |
3 |
2 |
1 |
8(n-1) |
87 |
86 |
85 |
84 |
83 |
82 |
81 |
80 |
十进制下的实际数 |
2097152 |
262144 |
32768 |
4096 |
512 |
64 |
8 |
1 |
(三)、十进制与十六进制
(1)十进制——十六进制
十进制数除以十六,
0,1,2,3,4,5,6,7,8,9,A(10),B(11),C(12),D(13),E(14),F(15)
十进制数逐次整除16,直至商为0,所得余数按相反顺序写出,即为其十六进制数。(同十进制——二进制)
例:75除以16得出的余数为 11(B) 4
余数从右向左写为4B(16)
(2)十六进制——十进制(同 二进制——十进制)
计算公式:a*160+b*161+c*162+...+m*16(n-1)=
小技巧:
163 |
162 |
161 |
160 |
4096 |
256 |
16 |
1 |
三、其他进制之间的转换
(一)、二进制与八进制
(1)二进制转换为八进制
对于整数,采用从左到右每三位一组,不够三位的在其左边补齐0,每组单独转换出来,即为八进制数。
例:(001 101 111 011)
1 5 7 3
所以,(1573)即为所得的八进制数。
(2)八进制转换为二进制
将每位八进制由三位二进制数代替,即可完成转换。
例:(1 7 3 5)
001 111 011 101
所以,(1111011101)即为所得的二进制数。
(二)、二进制与十六进制
(1)二进制转换为十六进制
将二进制数的每四位用一个十六进制数码来表示,整数部分以小数点为界点从右往左每四位一组转换,小数部分从小数点开始自左向右每四位一组进行转换。
例:(1001 0111 0111 1001)
9 7 7 9
所以,(9779)为所得的十六进制数。
(2)十六进制转换为二进制
只要将每一位十六进制数用四位相应的二进制数表示,即可完成转换。
例:(8 7 6 5)
1000 0111 0110 0101
所以,(1000011101100101)为所得的二进制数。
综上所述,十进制可以与二进制、八进制、十六进制相互转换,二进制可以与八进制、十六进制相互转换。