十进制、二进制、八进制、十六进制互相转换

十进制数由0~9共10个数字字符组成,在十进制数的每一位上满十进一,在十进制每一位中表示最大数字为9.

二进制数由0和1两个数字字符组成,在二进制中“逢二进一”,在二进制每一位中表示最大数字为1.

八进制是由0~7共8个数字字符组成,在八进制中“逢八进一”,在八进制中每一位中表示最大数字为7.

十六进制是由0~9、A、B、C、D、E、F共16个字符组成,在十六进制中“逢十六进一”,在十六进制中最大的数是F。

首先,讲讲十进制转二进制:

例: 十进制要转二进制

就拿55除以2

55/2=27余1,在拿27除以2,27/2=13余1,在拿13除以2,13/2=6余1,在拿6除以2,6/2=3余下0,在拿3除以2,3/2=1余1,

那么十进制55转换成二进制就是110111

 

十进制转八进制

例子:十进制534转八进制

拿534除以8,534/8=66余6,在拿66除以8等于8余2,在拿8除以8等于1余0,那么十进制534转八进制就是1026.

 

十进制转十六进制

例子:十进制300转十六进制

拿300除以16的等于18余12(12在16进制中以C表示,10为A,B为11,一直到F为15),在拿18除以16等于1余下2,在拿1除以16,等于0,不用表示,那么十进制300转换为十六进制的结果为12C。

 

二进制转换为十进制

例子:111=1*4+1*2+1*1=7;

它有个对照表:

1

1

1

1

1

1

1

1

128

64

32

16

8

4

2

1

看二进制有多少位,对照表然后在拆开来相加。

 

 

二进制转换为八进制

有个方法,把二进制的数从右往左,三位一组,不够补0

列:111=4+2+1=7

11001拆分为 001和011,001=1,011=2+1=3;

那么11001转换为八进制就是31.

 

二进制转换为十六进制

参照二进制转八进制,但是它是从右往左,四位一组,不够补0

列子:1101101拆分为1101、0110

分别计算两个二进制的值,1101=8+4+0+1=13,十六进制中13为D

0110=4+2=6,那么二进制1101101转换为十六进制就是6D。

八进制转换为二进制

从后往前,每一位按十进制转化为三位二进制,缺位补0

列子:77,拆分开7=4+2+1=111

所以八进制的77转换位二进制得111111.

 

八进制转换为十进制

列子:555=5*8的2次方+5*8的一次方+5=320+40+5=365;

 

八进制转换位十六进制

先要把八进制转换位2进制,然后在把二进制转换位十六进制

例如:八进制721先转换为二进制,把一个个拆开

7=111,2=010,1=001,

得到二77进制111010001,然后转换为16进制,从右往左,四个一组,不够补0

111010001 拆开为 0001,1101,0001

0001=1,1101=8+4+1=13,十六进制的话,就为D,0001=1,那么转换为十六进制就是1D1

 

十六进制转换为二进制

把每一位数转换成二进制,每个数分四位,不足四位,前面补0

列子:2FD,分别拆开,2=0010,F=15=1111,D=13=1101

那么转换为二进制就得到 1011111101

 

十六进制转换为八进制

先将十六进制转换成二进制,(原则一位十六进制转四位二进制),在将二进制转换成八进制,(原则是从右往左三个,不够补0)

列子: 十六进制的2FD转换二进制得1011111101,在将二进制1011111101转换为八进制,从右边往左,四个一拆分,不够补0

1011111101拆分为 001,011,111,101,分别计算

001=1,011=2+1=3,111=4+2+1=7,101=4+1=5,那么最后转换为八进制就得到1375.

 

 

十六进制转换为十进制

跟八进制转换为十进制类似

列子:2D=2*16的一次方+13=2*16+13=45

十六进制的2D转换为十进制得到十进制45

posted @ 2015-01-22 12:28  Bodyjiang  阅读(28901)  评论(0编辑  收藏  举报