汇编整理一
二进制
自右向左,从 0 开始顺序增量编号。左边的位称为最高有效位(Most Significant Bit, MSB)右边的位称为最低有效位(LSB, least significant bit)。一个 16 位的二进制数,其 MSB 和 LSB 如下图所示:

二进制整数可以是有符号的,也可以是无符号的。有符号整数又分为正数和负数,无符号整数默认为正数,零也被看作是正数。
无符号二进制整数到十进制数的转换
对于一个包含 n 个数字的无符号二进制整数来说,加权位记数法(weighted positional notation)提供了一种简便的方法来计算其十进制值:
dec = ( Dn-1 x 2n-1 ) + ( Dn-2 x 2n-2 ) +…+ ( D1 x 21 )+ ( D0 x 20 )
D 表示一个二进制数字。比如,二进制数 00001001 就等于 9。计算该值时,剔除了数字等于 0 的位:
( 1 X 23 ) + ( 1 X 20 ) = 9
下图表示了同样的计算过程:

无符号十进制整数到二进制数的转换
将无符号十进制整数转换为二进制,方法是不断将这个整数除以 2,并将每个余数记录为一个二进制数字。下表展示的是十进制数 37 转换为二进制数的步骤。余数的数字,从第二行开始,分别表示的是二进制数字D0
D1、D2、D3、D4 和 D5:
| 除法 | 商 | 余数 | 除法 | 商 | 余数 |
|---|---|---|---|---|---|
| 37/2 | 18 | 1 | 4/2 | 2 | 0 |
| 18/2 | 9 | 0 | 2/2 | 1 | 0 |
| 9/2 | 4 | 1 | 1/2 | 0 | 1 |
将表中余数列的二进制位逆序连接(D5,D4,…),就得到了该整数的二进制值 100101。由于计算机总是按照 8 的倍数来组织二进制数字,因此在该二进制数的左边增加两个 0,形成 00100101。

浙公网安备 33010602011771号