一,数制转换
1.1 问题
1)请将下列数字转换为十进制数:
(110010011111)2 、(10110101110)2
2)请将下列十进制数转换为二进制:
156、2608、1043
1.2 方案
使用按权展开法将二进制数转换为十进制数,使用短除法除2取余计算十进制数转换为二进制数。
1.3 步骤
实现此案例需要按照如下步骤进行。
步骤一:二进制转十进制
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 。