数制转换

一,数制转换

1.1 问题

1)请将下列数字转换为十进制数:

(110010011111)2 、(10110101110)2

2)请将下列十进制数转换为二进制:

156、2608、1043

1.2 方案

使用按权展开法将二进制数转换为十进制数,使用短除法除2取余计算十进制数转换为二进制数。

1.3 步骤

实现此案例需要按照如下步骤进行。

步骤一:二进制转十进制

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

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

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

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

步骤二:十进制转二进制

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

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

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

  1. 2608除以2,商为1304,余数为0;
  2. 1304除以2,商为652,余数为0;
  3. 652除以2,商为326,余数为0;
  4. 326除以2,商为163,余数为0;
  5. 163除以2,商为81,余数为1;
  6. 81除以2,商为40,余数为1;
  7. 40除以2,商为20,余数为0;
  8. 20除以2,商为10,余数为0;
  9. 10除以2,商为5,余数为0;
  10. 5除以2,商为2,余数为1;
  11. 2除以2,商为1,余数为0;
  12. 1除以2,商为0,余数为1;
  13. 综上,将余数倒序排列,得1010 00111 1100 。

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

  1. 1043除以2,商为521,余数为1;
  2. 521除以2,商为260,余数为1;
  3. 260除以2,商为130,余数为0;
  4. 130除以2,商为65,余数为0;
  5. 65除以2,商为32,余数为1;
  6. 32除以2,商为16,余数为0;
  7. 16除以2,商为8,余数为0;
  8. 8除以2,商为4,余数为0;
  9. 4除以2,商为2,余数为0;
  10. 2除以2,商为1,余数为0;
  11. 1除以2,商为0,余数为1;
  12. 综上,将余数倒序排列,得100 0001 0011 。
原文地址:https://www.cnblogs.com/xiaoren112/p/8256993.html