二进制和十进制的相互转换

1.数制转换

请将下列数字转换为十进制数:
(110010011111)2 、(10110101110)2
156、2608、1043
使用按权展开法将二进制数转换为十进制数,使用短除法除2取余计算十进制数转换为二进制数。
实现此案例需要按照如下步骤进行。

步骤一:二进制转十进制

1)二进制数110010011111,转为十进制的结果是3231,转换过程如下:

(1100 1001 1111)2 
= 1x211+1x210+0x29+0x28+1x27+0x26+0x25+1x24+1x23+1x22+1x21+1x20
= 2048+1024+0+0+128+0+0+16+8+4+2+1
= 3231

2)二进制数10110101110,转为十进制的结果是1454,转换过程如下:

(101 1010 1110)2 
= 1x210+0x29+1x28+1x27+0x26+1x25+0x24+1x23+1x22+1x21+0x20
= 1024+0+256+128+0+32+0+8+4+2+0
= 1454

步骤二:十进制转二进制

1)十进制数156,转为二进制的结果是10011100,转换过程如下:

156除以2,商为78,余数为0;
78除以2,商为39,余数为0;
39除以2,商为19,余数为1;
19除以2,商为9,余数为1;
9除以2,商为4,余数为1;
4除以2,商为2,余数为0;
2除以2,商为1,余数为0;
1除以2,商为0,余数为1;
综上,将余数倒序排列,得10011100 。

2)十进制数2608,转为二进制的结果是1010 0011 0000,转换过程如下:

2608除以2,商为1304,余数为0;
1304除以2,商为652,余数为0;
652除以2,商为326,余数为0;
326除以2,商为163,余数为0;
163除以2,商为81,余数为1;
81除以2,商为40,余数为1;
40除以2,商为20,余数为0;
20除以2,商为10,余数为0;
10除以2,商为5,余数为0;
5除以2,商为2,余数为1;
2除以2,商为1,余数为0;
1除以2,商为0,余数为1;
综上,将余数倒序排列,得1010 00111 1100 。

3)十进制数1043,转为二进制的结果是100 0001 0011,转换过程如下:

1043除以2,商为521,余数为1;
521除以2,商为260,余数为1;
260除以2,商为130,余数为0;
130除以2,商为65,余数为0;
65除以2,商为32,余数为1;
32除以2,商为16,余数为0;
16除以2,商为8,余数为0;
8除以2,商为4,余数为0;
4除以2,商为2,余数为0;
2除以2,商为1,余数为0;
1除以2,商为0,余数为1;
综上,将余数倒序排列,得100 0001 0011 。

##############################################################################

可以根据下表快速计算

1  >>>1
2  >>>10
4  >>>100
8  >>>1000
16 >>>10000
32 >>>100000
62 >>>1000000
128>>>10000000
256>>>100000000
512>>>1000000000

你可能感兴趣的:(基本知识)