1. 【二进制(0~1)、八进制(0~7)、十进制(0~9)】→十六进制(0~15,10~15之间的数用A~F表示)
101011→1*20+1*21+0*22+1*23+0*24+1*25=1+2+0+8+0+32=43 //二进制转十进制
053→3*80+5*81=3+40=43 //八进制转十进制
0x2B=B*160+2*161=11+32=43 //十六进制转十进制
2. 十进制→【二、八、十六进制】
//十进制转二进制 依次除以2直到除完为止 ,每除以2所得的余数,从后往前依次读取即为二进制数
//十进制转八进制 796→01434
//十→十六 796→0x31c
3. 二进制→【八、十六进制】
//二进制转八进制
11010111. 0100111→327.234 取三合一
小数点前从右向左三位一组 0 1 1 0 1 0 1 1 1 →3 2 7
小数点后从左向右三位一组 0 1 0 0 1 1 1 0 0 →2 3 4
读数从高位到低位依次读取,小数点不变327.234
二进制与八进制编码对应表 |
|
二进制 |
八进制 |
000 |
0 |
001 |
1 |
010 |
2 |
011 |
3 |
100 |
4 |
101 |
5 |
110 |
6 |
111 |
7 |
//八进制转二进制
327→011010111 取一分三
//二进制转十六进制
1 1 0 1 0 1 1 1→D 7 取四合一
1101→13 (D)
0111→7
依次读取为D7
//十六进制转二进制 取一分四
4. 八进制→十六进制
八→二→十六 327→011010111→D7
5. 十六进制→八进制 十六→二→八
总结:
1. 二、八、十六进制转十进制:将二进制数、八进制数、十六进制数的各位数字分别乘以各自基数的(N-1)次方,其相加之和便是相应的十进制数,这是按权相加法(按权相加)
2. 十进制转其他进制:整数部分用除基取余法,小数部分用乘基取整法,然后将整数与小数部分拼接成一个数作为转换的最后结果(整数除基取余,小数乘基取整)
3. 二进制转八进制:从小数点位置开始,整数部分向左,小数部分向右,每三位二进制为一组用一位八进制的数字来表示,不足三位的用0补足(取三合一)
4. 八进制转二进制:与二进制转八进制相反(取一分三)
5. 二进制转十六进制:从小数点位置开始,整数部分向左,小数部分向右,每四位二进制为一组用一位十六进制的数字来表示,不足四位的用0补足(取四合一)
6. 十六进制转二进制:与二进制转十六进制相反(取一分四)
7. 八进制转十六进制:通常将八进制转换成二进制,然后通过二进制再转换成十六进制(八→二→十六)
8. 十六进制转八进制:通常将十六进制转换成二进制,然后通过二进制再转换成八进制(十六→二→八)