![]() | 第10章 细节补充 | -269- | |||||||||||||||||||
第10章 细节补充
任何一个人都不愿意学习不完整的知识,特别是在交了"全额"学费之后。试想花了不少钱买了一本汇编语言教材,到头来却只学到了部分指令,不得不再花钱买另一本新书才把指令学全,这真是一件令人遗憾的事。说实在的,连笔者都觉得遗憾。 |
|||||||||||||||||||||
10.1 BCD运算 | |||||||||||||||||||||
二进制数固然适合于机器进行处理,但是它并不适用于人类,即使是将其表示成十六进制形式也仍然不便于记忆理解。这样一来我们编制一些进行数学计算的程序就不得不解决十进制数与二进制数之间的转换问题,以便于我们输入数据和观察运算结果。 由此看来,如果能够使二进制数与十进制数之间的对应关系得以简化,或者利用二进制数的形式直接表达十进制数,那么就能使编程工作变得简单一些。 在前面我们已经讨论过二进制数与十进制数之间的转换方法,以四位二进制数为例,它与十进制数、十六进制数的对应关系如表10-1所示: |
|||||||||||||||||||||
表10-1 二进制数、十进制数、十六进制数对照表 | |||||||||||||||||||||
二进制 | 0000 | 0001 | 0010 | 0011 | 0100 | 0101 | 0110 | 0111 | |||||||||||||
十进制 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | |||||||||||||
十六进制 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | |||||||||||||
二进制 | 1000 | 1001 | 1010 | 1011 | 1100 | 1101 | 1110 | 1111 | |||||||||||||
十进制 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | |||||||||||||
十六进制 | 8 | 9 | A | B | C | D | E | F | |||||||||||||
由表10-1我们可以看到十进制数0-9与二进制数0000-1001之间可以看作是固定的4对1的对应关系,即二进制数的4个数位对应十进制数一个数位。然而从10以后就变成了二进制数4个数位对应十进制数两个数位了。10以后的十进制数与二进制数的对应失去了直观性。 如何使大于10的十进制数与二进制数的对应关系变得很直观呢?不妨采用这样的方法:把十进制数10表示成一个八位二进制数00010000,其中高4位0001表示十位上的1,而低4位0000则表示个位上的0。也就是说对于十进制数的每一个数位我们都用一个4位二进制数来表示。 这样一来像56这样的十进制数就可以表示成01010110了,高4位0101对应十位的5,低4位0110就对应了个位的6。这显然要比56真正对应的那个二进制数00111000要好理解。同理,十进制数348就可以表示成001101001000,其中0011就是百位的3,0100对应十位的4,1000就是 |
|||||||||||||||||||||
Copyright © 2004-2015 Reanimator | www.cookmoon.org |