二进制“1100”转十进制等于多少?十进制“8”转十六进制等于多少?怎么算?最好列出算法?

1个回答

  • 二进制“1100”转十进制等于12

    下面是各种进制间转换的算法

    1. 十 -----> 二

    (25.625)(十)

    整数部分:

    25/2=12.1

    12/2=6 .0

    6/2=3 .0

    3/2=1 .1

    1/2=0 .1

    然后我们将余数按从下往上的顺序书写就是:11001,那么这个11001就是十进制25的二进制形式

    小数部分:

    0.625*2=1.25

    0.25 *2=0.5

    0.5 *2=1.0

    然后我们将整数部分按从上往下的顺序书写就是:101,那么这个101就是十进制0.625的二进制形式

    所以:(25.625)(十)=(11001.101)(二)

    十进制转成二进制是这样:

    把这个十进制数做二的整除运算,并将所得到的余数倒过来.

    例如将十进制的10转为二进制是这样:

    (1) 10/2,商5余0;

    (2) 5/2,商2余1;

    (3)2/2,商1余0;

    (4)1/2,商0余1.

    (5)将所得的余数侄倒过来,就是1010,所以十进制的10转化为二进制就是1010

    2. 二 ----> 十

    (11001.101)(二)

    整数部分: 下面的出现的2(x)表示的是2的x次方的意思

    1*2(4)+1*2(3)+0*2(2)+0*2(1)+1*2(0)=25

    小数部分:

    1*2(-1)+0*2(-2)+1*2(-3)=0.625

    所以:(11001.101)(二)=(25.625)(十)

    二进制转化为十进制是这样的:

    这里可以用8421码的方法.这个方法是将你所要转化的二进制从右向左数,从0开始数(这个数我们叫N),在位数是1的地方停下,并将1乘以2的N次方,最后将这些1乘以2的N次方相加,就是这个二进数的十进制了.

    还是举个例子吧:

    求110101的十进制数.从右向左开始了

    (1) 1乘以2的0次方,等于1;

    (2) 1乘以2的2次方,等于4;

    (3) 1乘以2的4次方,等于16;

    (4) 1乘以2的5次方,等于32;

    (5) 将这些结果相加:1+4+16+32=53

    3. 十 ----> 八

    (25.625)(十)

    整数部分:

    25/8=3.1

    3/8 =0.3

    然后我们将余数按从下往上的顺序书写就是:31,那么这个31就是十进制25的八进制形式

    小数部分:

    0.625*8=5

    然后我们将整数部分按从上往下的顺序书写就是:5,那么这个0.5就是十进制0.625的八进制形式

    所以:(25.625)(十)=(31.5)(八)

    4. 八 ----> 十

    (31.5)(八)

    整数部分:

    3*8(1)+1*8(0)=25

    小数部分:

    5*8(-1)=0.625

    所以(31.5)(八)=(25.625)(十)

    5. 十 ----> 十六

    (25.625)(十)

    整数部分:

    25/16=1.9

    1/16 =0.1

    然后我们将余数按从下往上的顺序书写就是:19,那么这个19就是十进制25的十六进制形式

    小数部分:

    0.625*16=10(即十六进制的A或a)

    然后我们将整数部分按从上往下的顺序书写就是:A,那么这个A就是十进制0.625的十六进制形式

    所以:(25.625)(十)=(19.A)(十六)

    6. 十六----> 十

    (19.A)(十六)

    整数部分:

    1*16(1)+9*16(0)=25

    小数部分:

    10*16(-1)=0.625

    所以(19.A)(十六)=(25.625)(十)

    如何将带小数的二进制与八进制、十六进制数之间的转化问题

    我们以(11001.101)(二)为例讲解一下进制之间的转化问题

    说明:小数部份的转化计算机二级是不考的,有兴趣的人可以看一看

    1. 二 ----> 八

    (11001.101)(二)

    整数部分: 从后往前每三位一组,缺位处用0填补,然后按十进制方法进行转化, 则有:

    001=1

    011=3

    然后我们将结果按从下往上的顺序书写就是:31,那么这个31就是二进制11001的八进制形式

    小数部分: 从前往后每三位一组,缺位处用0填补,然后按十进制方法进行转化, 则有:

    101=5

    然后我们将结果部分按从上往下的顺序书写就是:5,那么这个5就是二进制0.101的八进制形式

    所以:(11001.101)(二)=(31.5)(八)

    2. 八 ----> 二

    (31.5)(八)

    整数部分:从后往前每一位按十进制转化方式转化为三位二进制数,缺位处用0补充 则有:

    1---->1---->001

    3---->11

    然后我们将结果按从下往上的顺序书写就是:11001,那么这个11001就是八进制31的二进制形式

    说明,关于十进制的转化方式我这里就不再说了,上一篇文章我已经讲解了!

    小数部分:从前往后每一位按十进制转化方式转化为三位二进制数,缺位处用0补充 则有:

    5---->101

    然后我们将结果按从下往上的顺序书写就是:101,那么这个101就是八进制5的二进制形式

    所以:(31.5)(八)=(11001.101)(二)

    3. 十六 ----> 二

    (19.A)(十六)

    整数部分:从后往前每位按十进制转换成四位二进制数,缺位处用0补充 则有:

    9---->1001

    1---->0001(相当于1)

    则结果为00011001或者11001

    小数部分:从前往后每位按十进制转换成四位二进制数,缺位处用0补充 则有:

    A(即10)---->1010

    所以:(19.A)(十六)=(11001.1010)(二)=(11001.101)(二)

    4. 二 ----> 十六

    (11001.101)(二)

    整数部分:从后往前每四位按十进制转化方式转化为一位数,缺位处用0补充 则有:

    1001---->9

    0001---->1

    则结果为19

    小数部分:从前往后每四位按十进制转化方式转化为一位数,缺位处用0补充 则有:

    1010---->10---->A

    则结果为A

    所以:(11001.101)(二)=(19.A)(十六)