在从十进制到二进制的转换过程中,说白了就是把人类算术的方式转换成机器语言(二进制)。前者数据量巨大,后者只有0和1,占用量很小。我们熟悉的CPU使用二进制算法来处理这个过程。当然,二进制的使用可能会少一些,但我们有理由去理解它。
十进制数字系统的每个位值有十个可能的值(0、1、2、3、4、5、6、7、8、9)。相反,二进制(基数为2)数字系统只有两个可能的值,即0和1。二进制是电子计算机的基本语言。真正的计算机程序员应该知道如何将数字从十进制转换成二进制。
如果你是程序员,相信你对转换方法已经足够了解了。
将十进制转换为二进制的方法
方法一、余数短除法除以二
1、明确问题。例如,我们现在将十进制数15610转换为二进制数。把这个十进制数写成“长除法”的倒相符号的被除数。把目标数系的基数(这里二进制数是“2”)写成这个除法符号外的除数。
用这种方法可视化计算过程更方便理解,因为整个计算过程只需要一直将数字除以2。
为了防止转换前后混淆,建议把数制的基数写成每个数字的脚注。在本例中,十进制数字的脚注是10,二进制数字的脚注是2。
2.进行除法运算。将结果的整数部分(商)写在长除法符号下,然后将其余数(0或1)写在被除数的右边。
我们现在除以2,所以如果商是偶数,余数是0;如果商是奇数,余数记录为1。
3.继续除,直到商为0。把每个新商除以二,然后把余数写在被除数的右边。直到商为0。
4.写新的二进制数。从最下面的余数开始,依次读到最上面。在这种情况下,你会得到10011100。这是十进制数156的二进制形式。或者,我们可以用脚注方程的形式来表示,即15610=100111002
通过使用这种方法,所有十进制数都可以转换成任何十进制表达式。除数是2,因为我们最终想得到一个基于2的数(即二进制数)。如果你想最终得到其他数的个数,可以用目标数系的基数代替这个方法中二进制的基数。例如,要得到基数9,使用9而不是2作为除数。最终的结果是目标数字系统的数字表达。
方法二、降二次幂及减法混合运算
1.列表。基于2的功率函数以表格形式从右向左列出。从20开始,20就是1。指数增加一。列出,直到函数值最接近要计算的十进制数。例如,我们现在将十进制数15610转换为二进制数。
2.找出最合适的幂函数值。找到小于且最接近要计算的数字的幂函数值。在本例中,128是小于156和基数2的最大幂函数值。1被写在二进制列表128的下面。然后用156减去128得到28。
3.继续算。只要得到一个新的数字28,继续比较计算,看看哪个幂函数值小于28。函数列表中的下一个数字是64,大于28,所以在64下面写0。以此类推,看看不到28的数字。
4.可以减少的数字记录为1。在这个例子中,64和48都不能被28减去,得到一个正数。28减去16可以得到12。8也可以从12中减去得到一个正数,所以在16和8下面写1。现在的差别是4。
5.继续减法,直到列表结束。记住在可以减的数字下面记录1,得到正数,在不能减的数字下面记录0。
6.写出二进制答案。得到的二进制值是记录在列表中的数字排列。你应该能拿到10011100。这是十进制数156的二进制表示。或者,我们可以用脚注方程的形式来表示,即15610=100111002
通过反复使用这种方法,基本上可以记住基于2的幂函数的值。您可以跳过列表的第一步。
小提示:
安装在操作系统中的计算器也可以作为十进制和二进制之间的转换,但作为程序员,最好清楚地了解这种转换的原理。点击“查看”,然后选择“程序员”查看转换器。
反向转换。从二进制到十进制通常更容易上手。
多练习,尝试转换十进制数17810、6310、810。您将获得以下二进制答案:101100102、1111112和10002。试着转换20910、2510和24110,你会得到11010012、110012和11110012。
以上内容是十进制到二进制转换方法的介绍。虽然二进制是目前流行的计算机体系结构,但计算机不仅有二进制,还有三进制算法。这是后来的故事.