正文

汇编语言中的数2005-09-21 10:47:00

【评论】 【打印】 【字体: 】 本文链接:http://blog.pfan.cn/wukong/5072.html

分享到:

汇编语言中的数
  高级语言中也多用十进制数。十进制数由0-9十个数字组合而成,逢10进1。但由于汇编语言是面向硬件的,因此,在汇编语言中使用的数字也是和硬件结合紧密的二进制数。
  二进制数只由0和1而个数字组成,逢2进1,也就是说,在十进制数中计算1+1时将得到一位数字的结果--2,而在二进制数中计算时将得到一个二位二进制数--10,表1-1列出了四位二进制数与十进制数间的对应关系。
  在十进制数字中还有"数位"之分,个位,十位,百位......,在二进制数中也分各个数位。以四位二进制数1010为例,从右数第一位,称为bit0,第二位称bit1,以此类推。因此,1010的bit3,bit1位是1,bit2,bit0位是0。与十进制数一样,二进制数自右向左数位逐渐升高。最左端的数位为最高位,1010的最高位为1。
表1-1 四位二进制数与十进制数对照表
二进制数 0000 0001 0010 0011 0100 0101 0110 0111
十进制数 0 1 2 3 4 5 6 7
二进制数 1000 1001 1010 1011 1100 1101 1110 1111
十进制数 8 9 10 11 12 13 14 15
  我们知道,计算机利用电路来记忆1和0,那么1和0究竟和电路的工作状态有什么关系呢?通俗的讲,1,0反应了电路输出(入)电压的高和低。如果电路输出(入)的电压高,比如达到了电源电压的幅度,此时电路的输出(入)就为1。如果电路输出(入)的电压很低,比如接近0V,那么这时电路的输出(入)就为0。
  二进制数字在实际应用中还有一些缺点,比如不便于书写,难于记忆等。为此,在汇编语言中还常用另一种数制--十六进制。十六进制数字由十六个数组成,逢16进1。前十个数字和十进制一样,是0-9,后六个数字用英文字母A-F来表示。表1-2列出了十六进制与十进制数间的对应关系。
表1-2 十六进制数与十进制数对照表
十进制 0 1 2 3 4 5 6 7
十六进制 0 1 2 3 4 5 6 7
十进制 8 9 10 11 12 13 14 15
十六进制 8 9 A B C D E F
  从表1-2可以看出,有些十六进制数与十进制数是一样的,区分不开。这个问题对于1位十六进制数而言到还没有什么关系,可对于多位十六进制数来说就有些麻烦了。比如给出一个数"79",它是十进制的"79"还是十六进制的"79(相当于十进制121)"呢?所以为区分十六进制数与十进制数,特别规定了十六进制数尾部应加字母"H"(Hexadecimal)。十六进制数79应该写成"79H"才对。
  对照表1-1和表1-2,可以看出每个四位二进制数都有相应的十六进制数与之对应。若用十六进制数代替二进制数,在书写时可以使数位减少四倍,简化了书写。同时也可以看到十六进制数同二进制数之间没有实质上的差别,只是两种不同的表达形式而已。下面的例子介绍了二-十-十六进制数字间的转换方法,请大家自己总结其中的规律。

阅读(3369) | 评论(1)


版权声明:编程爱好者网站为此博客服务提供商,如本文牵涉到版权问题,编程爱好者网站不承担相关责任,如有版权问题请直接与本文作者联系解决。谢谢!

评论

loading...
您需要登录后才能评论,请 登录 或者 注册