PDF download 下载PDF文件 PDF download 下载PDF文件

二进制 ( 基数为2 ) 数字系统 中有两个可能值,在每一位上,通常表示为0或1。相反,在 十进制 ( 基数为10 ) 数字系统 中,在每一位上,有10个可能值 (0,1,2,3,4,5,6,7,8, 或9)。

在使用不同的数字系统时,为了避免混乱的产生,可将 基数 标记在某个数的下标位置。例如,可以把二进制数标明为 "基数为2"的数,即写作10011100 2 。而十进制数156可写作156 10 ,并读作"以10为基数的一百五十六"。

因为二进制系统是电子计算机的内部语言,因此真正的程序员应该掌握如何把二进制数转换为十进制数。而如果首先学习把十进制数转换为二进制数则相对更困难。

注意:这里只讨论数值的转换而非 ASCII 代码的转换。

方法 1
方法 1 的 2:

按位记数

PDF download 下载PDF文件
  1. 从左到右地列出2的幂。从2 0 开始,结果为"1"。每向右移一位,就对其指数加1。列出的元素个数应等于二进制数的位数。在本例中,10011011有8位数字,因此应列出的8个元素:128, 64, 32, 16, 8, 4, 2, 1
  2. 从右边开始,画一条线,把二进制数的第一个数字和2的第一个幂值连接起来。然后,画一条线,把二进制数的第二个数字和2的第二个幂值连接起来。依次类推,画出线条把每一个数字和对应的幂值连接起来。
  3. 如果对应的数字为1,则在线条下方写下对应的2的幂值。如果对应的数字为0,则在线条下方写下0。
  4. 所得总和为155。这就是二进制数10011011对应的十进制数。或者写成基数下标的形式:
  5. 广告
方法 2
方法 2 的 2:

双倍法

PDF download 下载PDF文件
  1. 1
    该方法不需要使用幂运算。 因此,当你通过心算转换较大的数值时,该方法更简单,因为你只需要记下部分和。
  2. 对于每一位数字,你向右移动,对之前所得总和乘以2并加上当前数值。例如,把1011001 2 转换为十进制数,我们将采用如下步骤:
  3. 10
  4. 在这里采用双倍法因为这里给定的数是以2为基数的。如果给定的数是基于不同的基数,则应本方法中的2换成对应的基数。例如,如果给定数是以37为基数,则你在计算时应把*2换为*37。而最终的结果则总是对应的十进制数(基数10)。 :)
    广告

小提示

  • 练习。尝试转换二进制数11010001 2 、11001 2 和11110001 2 。它们对应的十进制数分别是209 10 、25 10 10
  • Microsoft Windows上的计算器能帮助你完成不同数制中的数的转换,但作为一名程序员,你应该理解并掌握转换的方法。计算器中的转换选项可以通过选择"查看"菜单中的"科学型"(或 "程序员")。在Linux上,你可以使用 galculator
广告

警告

广告

关于本wikiHow

本页面已经被访问过95,709次。

这篇文章对你有帮助吗?

广告