1.二进制
二进制是逢2进位的进位制。0、1是基本算符。现代的电子计算机技术全部采用的是二进制,因为它只使用0、1两个数字符号,非常简单方便,易于用电子方式实现。
四则运算
加法:00+00=00,00+01=01,01+00=01,01+01=10
减法:0-0=0,1-0=1,1-1=0,10-1=1
乘法:0×0=0,0×1=0,1×0=0,1×1=1
除法:0÷1=0,1÷1=1
十进制转二进制
整数部分:
59 ÷ 2 = 29 ... 1
29 ÷ 2 = 14 ... 1
14 ÷ 2 = 7 ... 0
7 ÷ 2 = 3 ... 1
3 ÷ 2 = 1 ... 1
1 ÷ 2 = 0 ... 1
小数部分:
0.25×2=0.5
0.50×2=1.0
2.八进制
八进制是以8为底的进位制,使用数字0,1,2,3,4,5,6,7。
从二进制的数转换到八进制的数,可以将3个连续的数字拼成1组,再独立转成八进制的数字。例如十进制的74即二进制的1001010,3个1组变成1 001 010,再变成八进制中的112。
八进制有时取代了十六进制在电脑的功用,其中一个解释是UNIX系统的档案权限(见Chmod)。它有优点如不必用数字以外的符号(十六进制除了0-9之外,要用到A-F)。可是它不是完美的——1字节只需用2个十六进制数字来记,但八进制要用3个。
以八进制数数在古代有时用来取代以十进制数。八进制的数法要用手指之间的空隙或非拇指的手指。这解释了拉丁语中的“novem”(9)和“novus”(新)这么相似——它可能表示新的数。
另外,很有趣的一点是,八进制的31等于十进制的25。它可以表示为oct(31)=dec(25)。在英语中,oct(31)即10月31日是万圣节,dec(25)即12月25日是圣诞节。
3.十六进制
十六进制(简写为hex或下标16)在数学中是一种逢16进1的进位制,一般用数字0到9和字母A到F表示(其中:A~F即10~15)。
例如十进制数79,在二进制写作01001111,在16进制写作4F(4 = 0100, F = 1111)。
在历史上,中国曾经在重量单位上使用过16进制,比如,规定16两为一斤。
现在的16进制则普遍应用在计算机领域,这是因为将4个位元(Bit)化成单独的16进制数字不太困难。1字节可以表示成2个连续的16进制数字。可是,这种混合表示法容易令人混淆,因此需要一些字首、字尾或下标来显示。
十进制转十六进制
采余数定理分解,例如将4877(10)转成十六进制:
4877÷16=304....13(D)
304÷16=19....0
19÷16=1....3
1÷16=0....1
这样就计到4877(10)=130D(16)
4.数的补码表示法
在计算机内,为了表示正负数,并便于进行各种算术运算,对有符号数采用二进制的补码表示形式。
补码的最高位用来表示正负数:0—正数,1—负数。
正数的补码是其自身的二进制形式,负数的补码是把其正数的二进制编码变“反”,再加1而得。
5.基本数据类型(ASM)
5.1字节
一个字节有8位二进制组成,其最高位是第7位,最低位是第0位。在表示有符号数时,最高位就是符号位。
通常情况下,存储器按字节编址,读写存储器的最小信息单位就是一个字节。
5.2字
由2个字节组成一个字,其最高位是第15位,最低位是第0位。高8位称为高字节,低8位称为低字节。
5.3双字
用2个字(4个字节)来组成一个双字,其高16位称为高字,低16位称为低字,如右图所示。
双字有较大的数据表示范围,它通常是为了满足数据的表示范围而选用的数据类型,也可用于存储远指针。
5.4四字
由4个字(8个字节)组成一个四字类型,它总共有64个二进制位,当然,也就有更大的数据表示范围,但在汇编语言中很少使用该数据类型。
5.5十字节
由10个字节组成一个十字节类型,它总共有80个二进制位。在汇编语言中很少使用该数据类型。
5.6字符串
字符串是由若干个字节组成的,字节数不定,通常每个字节存储一个字符。该数据形式是汇编语言程序中经常使用的另一种数据形式。

本文详细介绍了二进制、八进制、十六进制及其转换方法,同时阐述了数的补码表示法在计算机中的应用。

1万+

被折叠的 条评论
为什么被折叠?



