2012年计算机二级C语言位运算考点归纳

来源:计算机等级考试    发布时间:2012-08-28    计算机等级考试视频    评论

第15章 位运算考点归纳

  15.1 位运算的含义及应用

  1.位的概念

  大多数计算机系统的内存储器是由众多的存储单元构成的。在微机中,每个存储单元是1个字节,它由8位二进制数构成,可以表示28=256种信息,各位的编号从0~7,最左边的位(第7位)是最高位,最右边的位(第0位)是最低位。由于二进制本身的特点,各位上的数字不是1,就是0。

  本章中的位就是指上述提到的二进制位,本章中的位运算就是指对这些二进制的位进行逻辑运算、移位运算等操作。

  2.数的编码

  数在计算机中是以二进制表示的,但是它并不是简单地以它本身的数值的二进制形式来直接表示,而要进行一定的编码,以方便计算机进行处理。常用的编码有原码、反码、补码三种。

  3.真值与原码

  我们将一个十进制数的二进制表示称为这个十进制数的真值,它代表了这个十进制数本身的数值。下表列出了一些数的真值。

  真值举例

  数 二进制表示 真值(16位)

  0

  1

  7 0

  1

  111 0000000000000000

  0000000000000001

  0000000000000111 

  15 

  1111 

  0000000000001111

  255

  4095

  65535 11111111

  111111111111

  1111111111111111 0000000011111111

  0000111111111111

  1111111111111111

  用真值表示的数只能是正数,对于负数,要用“一”号标明,例如:

  -7的真值为-0000000000000111 -65535的真值为-1111111111111111

  这势必造成用计算机表示数时的不便,故引入了原码表示法。

  在原码表示法中,最高位代表符号位,用“1”表示负数,“0”表示正数;余下的数位用来表示真值的绝对值。

  数字零存在着两种表示方法:+0与-0。

  4.反码

  若采用反码表示,则对应的原码应按照以下方法进行转换:

  (1)如果真值为正,则它的反码与原码相同;

  (2)如果真值为负,则反码的符号位为1,其余各位就是对原码取反(即原码的1变为0,原码的0变为1)。

  5.补码

  (1)为什么要引入补码

  补码具有许多独特的优点:首先它可以变减法运算为加法运算,使得计算时步骤统一,速度提高;其次,在这种系统下的“0”只有惟一的一种表示方法,这就是现代的计算机系统中大多采用补码的原因。

  (2)补码的规定

  ①正数的原码、补码、反码均相同;

  ②计算负数的补码时,先置符号位为1,再对剩余原码的位数逐位取反,最后对整个数加1。

  在微机上以8位二进制数为一字节的存储单元中采用补码系统,它可以存放的最小整数为-128,最大整数为+127。若采用两个字节来表示一个整数,则可表示的最小整数为-32768,最大整数为+32767。

  15.2 简单的位运算

  C语言提供了位(bit)运算的功能,这使它像汇编语言一样用来编写系统程序。位运算符共有六种;

  位运算符

  位运算符 含义

  & 位与

  ︳ 位或

  ∧ 位异或

  ~ 位取反

  << 位左移

  >> 位右移

上一页12下一页

视频学习

我考网版权与免责声明

① 凡本网注明稿件来源为"原创"的所有文字、图片和音视频稿件,版权均属本网所有。任何媒体、网站或个人转载、链接转贴或以其他方式复制发表时必须注明"稿件来源:我考网",违者本网将依法追究责任;

② 本网部分稿件来源于网络,任何单位或个人认为我考网发布的内容可能涉嫌侵犯其合法权益,应该及时向我考网书面反馈,并提供身份证明、权属证明及详细侵权情况证明,我考网在收到上述法律文件后,将会尽快移除被控侵权内容。

最近更新

社区交流

考试问答