
全国计算机等级考试实用应试教程二级C语.ppt
12页本章重点Ø15.1 位运算符 Ø15.2 位运算符的运算功能 第第15章章 位运算位运算妊免磨丽蠕逗扑郭腾夯发释选獭焙奢坟临臀壕倦诌哆吗尘娇俩迂遥已记伊全国计算机等级考试实用应试教程二级C语全国计算机等级考试实用应试教程二级C语15.1 位运算符1.数在计算机中的存放形式(1)字和字节(2)原码(3)补码2.位运算符 所谓位运算是指进行二进制位的运算C语言提供了六种位运算符 逞滁败范晋涨薄疾朋斟志藩损豌设苞咱擒窍咽穿滋断硼锑兹卯块键话游秦全国计算机等级考试实用应试教程二级C语全国计算机等级考试实用应试教程二级C语说明:(1)位运算符中除~以外,都是二元运算符,即要求运算符两侧各有一个运算量(操作数)2)位运算只能作用于整型或字符型数据,不能是实型数据3)位运算符的优先性从高到低的顺序为:“~”→“>>、<<”→“&”→“^”→“|”4)位运算符与赋值运算符结合组成扩展的赋值运算符,即<<=、>>=、&=、^=和|=其功能如表15.2所示5)两个长度不同的数据进行位运算时,系统先将二者最低位(最右位)对齐,然后将短的一方按符号位扩充,无符号数则以0扩充铸萌类去蔽锐姐粘减做险玛鬼假高跑闷疟艾沥谗魁庞邻报隐密衅你焚峻涯全国计算机等级考试实用应试教程二级C语全国计算机等级考试实用应试教程二级C语运算符名称示例示例说明优先次序&按位与a&ba和b位与从左向右|按位或a|ba和b位或从左向右^按位异或a^ba和b位异或从左向右~按位取反~a求a的位反从右向左<<左移a<<2a左移2位从左向右>>右移a>>3a右移3位从左向右表15.1 C语言中的位运算符 拯绝惰凡满玉段光库片险雕钱式疹帅尝敝沸凉俞旁旺梗孪惯龄悄研剑初很全国计算机等级考试实用应试教程二级C语全国计算机等级考试实用应试教程二级C语说明:(1)位运算符中除~以外,都是二元运算符,即要求运算符两侧各有一个运算量(操作数)。
2)位运算只能作用于整型或字符型数据,不能是实型数据3)位运算符的优先性从高到低的顺序为:“~”→“>>、<<”→“&”→“^”→“|”4)位运算符与赋值运算符结合组成扩展的赋值运算符,即<<=、>>=、&=、^=和|=其功能如表15.2所示5)两个长度不同的数据进行位运算时,系统先将二者最低位(最右位)对齐,然后将短的一方按符号位扩充,无符号数则以0扩充侯萎吝捏航公必窜暂焉娶擅吝袜度二刘瑚珐庆致垃猛痉裤邓差惫非惕震田全国计算机等级考试实用应试教程二级C语全国计算机等级考试实用应试教程二级C语15.2 位运算符的运算功能1.位逻辑运算符(1)位与运算符(&) (2)位或运算符(|) (3)异或运算符(^) (4)取反运算符(~) 蹈谁汲马保赂妊愈枷凰讳召尧烷撅椰芍椎系詹壕坤娟蔬拈律乒湃绩航箩链全国计算机等级考试实用应试教程二级C语全国计算机等级考试实用应试教程二级C语与运算符参与运算的数以补码补码方式出现例如:9&5并不等于14,而应该是按位与,算式如下: 00001001 (9的二进制补码) & 00000101 (5的二进制补码) —————— 00000001 (1的二进制补码)读龋呸订篇伏剪龚晶官渴颇罢凿折讨映英钝凋嚷宜沧瓷巡掌溜雁隙包褪爹全国计算机等级考试实用应试教程二级C语全国计算机等级考试实用应试教程二级C语或运算符参与运算的两个数均以补码补码出现。
例如:9|5可写算式如下: 00001001 | 00000101 —————— 00001101 (十进制为13)寇倡岸枣漳祝仟际挛予司丹颈郭犬当各彩摸临怀娄异滇哉鸥颇骇忙皖胞惦全国计算机等级考试实用应试教程二级C语全国计算机等级考试实用应试教程二级C语 异或运算符参与运算数仍以补码补码出现 例如9^5可写成算式如下: 00001001 ^ 00000101 —————— 00001100 (十进制为12) 取反运算符 例如~9的运算为: ~ (0000000000001001) => 1111111111110110轨修斌炙埠孟咬分痹唉润蕊盛丈嘿染策啸姿圣千讣早溉颖纤乍睹伏注沼匪全国计算机等级考试实用应试教程二级C语全国计算机等级考试实用应试教程二级C语2.位移位运算符 (1)左移运算符(<<) (2)右移运算符(>>) 3.位自反赋值运算 &=(自反位与运算) 如:a&=b 相当于a=a&b自反位或运算) 如:a|=b 相当于a=a|b>>=(自反右移位运算)如:a>>=b 相当于a=a>>b。
<<=(自反左移位运算)如:a<<=b 相当于a=<
当两个运算数类型不同时位数也会不同此时,系统将自动进行如下处理:(1)先将两个运算数右端对齐2)再将位数短的一个运算数往高位扩充,即无符号数和正整数左侧用无符号数和正整数左侧用0补全;负数左侧用补全;负数左侧用1补全补全;然后对位数相等的两个运算数按位进行运算缴眉函闸挟札甚川沸蜒讲檬蔓预肇崎专汛欺鄂英萌务牌湘块峪十栅呀刽炒全国计算机等级考试实用应试教程二级C语全国计算机等级考试实用应试教程二级C语。












