3-3
C 语言是为描述系统而设计的,它最早用于编写 UNIX 操作系统。因此,它
具有一定的汇编语言的功能。C 语言既具有高级语言的特点,又具有低级语言的
功能,因而具有广泛的应用和极强的生命力。位运算是 C 语言的重要特色之一,
通过位运算可以实现对内存中的一个字节甚至字节的一个二进制位进行操作,从
而进一步增强了 C 语言的运算能力。
所谓位运算就是对二进制位进行的运算。在系统软件的编制中常用到位运算。
1.
计算机系统的内存储器是由众多的存储单元构成的,每个存储单元是一个字
节,一个字节由八位组成,每一位有两种状态 1 和 0。所以,一个字节能表示 2
8
=256
种状态。一个字节的各位的编号从 0 到 7,最左边的一位,即第 7 位是最高位,
最右边的一位,即第 0 位是最低位,如图 1 所示。
整型数据在计算机内存中是以二进制数的补码形式存储在内存单元中。用补
码形式表示的优点是,可以变减法运算为加法运算,使得计算时步骤统一。
虽然不同类型的数据在内存中所占用的字节数是不同的,但存储时高位字节
的最高位用来表示数的符号,其它各位用来表示数值是相同的。下面以 short 型
数据为例,给出-32768~32767 之间的数值所对应的二进制数的补码形式,以便
对照。见表 1。
表 1:short 型数值与补码对照表
数值 补码 数值 补码
-32768 1000000000000000 0 0000000000000000
-32767 1000000000000001 1 0000000000000001
-32766 1000000000000010 2 0000000000000010
… … … …
-2 1111111111111110 32766 0111111111111110
-1 1111111111111111 32767 0111111111111111
1 个字节
图 1
评论0
最新资源