数据表示
- 汇编语言程序员处理的是物理级数据,因此他们必须善于检查内存和寄存器。通常,二进制数被用于描述计算机内存的内容;有时也使用十进制和十六进制。
- 每一种数制格式,都有一个基数(base),也就是可以分配给单一数字的最大符号数。
表1-2 二进制、八进制、十进制和十六进制数字
系统 | 基数 | 可能的数字 |
---|---|---|
二进制 | 2 | 01 |
八进制 | 8 | 01234567 |
十进制 | 10 | 0123456789 |
十六进制 | 16 | 0123456789ABCDEF |
1.3.1 二进制整数
- 计算机以电子电荷集合的形式在内存中保存指令和数据。用数字来表示这些内容就需要系统能够适应开/关(on/off)或真/假(true/false)的概念。二进制数用2个数字作基础,其中每一个二进制数字(称为位,bit)不是0就是1.位自右向左,从0开始顺序增量编号。左边的位成为最高有效位(most significant bit, MSB),右边的称为最低有效位(least significant bit, LSB)。一个16位的二进制数,其MSB和LSB如下图所示:
MSB LSB
___________________________________
|_1_0_1_1_0_0_1_0_1_0_0_0_0_1_0_1_|
15 0 位的序列
- 二进制整数可以是有符号的,也可以是无符号的。有符号整数又分为正数和负数,无符号整数默认为正数,零也被看作是正数。在书写较大的二进制数时,有些人喜欢每4位或8位插入一个点号,以增加数字的易读性。如:1101,1100,0011,1000.0000和11011100.00111000
1、无符号二进制整数
- 从LSB开始,无符号二进制整数中的每一个位代表的是2的加1次幂。下表展示的是,对一个8位的二进制数来说,2的幂是如何从右到左增加的:
1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 |
---|---|---|---|---|---|---|---|
27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 |
网友评论