《全国计算机等级考试实用应试教程二级C语.ppt》由会员分享,可在线阅读,更多相关《全国计算机等级考试实用应试教程二级C语.ppt(12页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、全国计算机等级考试实用应试教程二级C语 Still waters run deep.流静水深流静水深,人静心深人静心深 Where there is life,there is hope。有生命必有希望。有生命必有希望15.1 位运算符1数在计算机中的存放形式(1)字和字节(2)原码(3)补码2位运算符所谓位运算是指进行二进制位的运算。语言提供了六种位运算符 说明:(1)位运算符中除以外,都是二元运算符,即要求运算符两侧各有一个运算量(操作数)。(2)位运算只能作用于整型或字符型数据,不能是实型数据。(3)位运算符的优先性从高到低的顺序为:“”“、”“&”“”“|”。(4)位运算符与赋值运算符
2、结合组成扩展的赋值运算符,即=、&=、=和|=。其功能如表15.2所示。(5)两个长度不同的数据进行位运算时,系统先将二者最低位(最右位)对齐,然后将短的一方按符号位扩充,无符号数则以0扩充。运算符名称示例示例说明优先次序&按位与a&ba和b位与从左向右|按位或a|ba和b位或从左向右按位异或aba和b位异或从左向右按位取反a求a的位反从右向左左移a右移a3a右移3位从左向右表15.1 C语言中的位运算符 说明:(1)位运算符中除以外,都是二元运算符,即要求运算符两侧各有一个运算量(操作数)。(2)位运算只能作用于整型或字符型数据,不能是实型数据。(3)位运算符的优先性从高到低的顺序为:“”“
3、、”“&”“”“|”。(4)位运算符与赋值运算符结合组成扩展的赋值运算符,即=、&=、=和|=。其功能如表15.2所示。(5)两个长度不同的数据进行位运算时,系统先将二者最低位(最右位)对齐,然后将短的一方按符号位扩充,无符号数则以0扩充。15.2 位运算符的运算功能1位逻辑运算符(1)位与运算符(&)。(2)位或运算符(|)。(3)异或运算符()。(4)取反运算符()。与运算符参与运算的数以补码补码方式出现。例如:9&5并不等于14,而应该是按位与,算式如下:00001001 (9的二进制补码)&00000101 (5的二进制补码)00000001 (1的二进制补码)或运算符参与运算的两个数
4、均以补码补码出现。例如:9|5可写算式如下:00001001|00000101 00001101 (十进制为13)异或运算符参与运算数仍以补码补码出现。例如95可写成算式如下:00001001 00000101 00001100 (十进制为12)取反运算符例如9的运算为:(0000000000001001)=11111111111101102位移位运算符(1)左移运算符()。3位自反赋值运算&=(自反位与运算)如:a&=b 相当于a=a&b。|=(自反位或运算)如:a|=b 相当于a=a|b。=(自反右移位运算)如:a=b 相当于a=ab。=(自反左移位运算)如:a=b 相当于a=b。=(自反
5、异或运算)如:a=b 相当于a=ab。4位运算符的优先级(1)位反()运算符为单目运算符,优于所有的双目运算符和三目运算符。(2)位移位运算符优先级相同,比算术运算符位移位运算符优先级相同,比算术运算符的优先级低,比关系运算符的优先级高。的优先级低,比关系运算符的优先级高。(3)位逻辑运算符的优先级比关系运算符的优位逻辑运算符的优先级比关系运算符的优先级低,比逻辑运算符的优先级高。先级低,比逻辑运算符的优先级高。(4)3个位逻辑运算符的优先次序为:&优于优于 优于优于|。(5)位自反值运算符和赋值运算符、算术自反位自反值运算符和赋值运算符、算术自反值运算符是同级的。值运算符是同级的。5位数不同的运算数之间的运算规则位运算的对象可以是整型和字符型数据。当两个运算数类型不同时位数也会不同。此时,系统将自动进行如下处理:(1)先将两个运算数右端对齐。(2)再将位数短的一个运算数往高位扩充,即无符号数和正整数左侧用无符号数和正整数左侧用0补全;负数左侧用补全;负数左侧用1补全补全;然后对位数相等的两个运算数按位进行运算。
限制150内