1.2 数据地表示和类型
1.2 数据的表示和类型
在用汇编语言进行程序设计时,程序员可以直接访问内存,对数据在存储器内的表示形式要有一个清晰的认识。下面,我们只简单介绍本课程所要用到的数据表示知识,为后面的学习作一点必要的准备。
有关“数据表示”的详细内容请参阅《计算机组成原理》中的相关章节。
1.2.1 数值数据的表示
(1)、二进制
在计算机内,数值是用二进制来表示的,每个二进制数按权相加就可得到其十进制数值。在书写二进制时,为了区别,在数据后面紧跟一个字母B。
二进制的一般表现形式为:bn-1…b1b0B,其代表数值:bn-12n-1+…+b121+b020。
数据的二进制表示形式简单、明了,但它书写起来比较长,所以,通常情况下,我们在程序中不直接用二进制来书写具体的数值,而改用八进制、十进制或十六进制。
(2)、八进制
八进制是一种二进制的变形,三位二进制可变为一位八进制,反之也然。八进制的表示元素是:0、1、…、7。在书写时,为了区别,在数据后面紧跟一个字母Q。如:1234Q、7654Q、54Q等都是八进制。
八进制数在程序中的使用频率不高。
(3)、十进制
十进制是我们最熟悉的一种数据表示形式,它的基本元素是:0、1、…、9。在书写时,为了区别,在数据后面紧跟一个字母D。在程序中经常用十进制来表示数据。
(4)、十六进制
十六进制是另一种二进制的变形,四位二进制可变为一位十六进制,反之也然。十六进制的基本元素是:0、1、…、9、A、B、…、F(字母小写也可以),其中:字母A、B、…、F依次代表10、11、…、15。
在书写时,为了区别,在数据后面紧跟一个字母H。当十六进制数的第一个字符是字母时,在第一个字符之前必须添加一个‘0’。如:100H、56EFH、0FFH、0ABCDH等都是十六进制数。
十六进制在程序中的使用频率很高。
(5)、数值进制的总结和相互转换
表1.1 各种进制及其字符表示
进制 | 字符 | 例子 | 备注 |
二进制 | B/Y(*) | 1010B、1011B | (*):字符Y、O和T是宏汇编MASM系统所增加的进制表示符。 |
八进制 | Q/O | 1234Q、311Q | |
十进制 | D/T | 1234D、512D | |
十六进制 | H | 1234H、1011H |
下面是各进制数据之间进行转换的控件,浏览者通过它可很好地掌握这些进制之间的转换方法。当十进制转化为其它进制时,浏览者还可进行实际的练习操作。