二进制、八进制、十进制及十六进制之间的转换

时间:2021-05-09 23:32:40

二进制、八进制、十进制及十六进制之间的转换

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. 十六进制转八进制:通常将十六进制转换成二进制,然后通过二进制再转换成八进制(十六→二→八)