- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
C语言具有位逻辑运算与移位运算独特功能
12.1 位运算
C语言具有位逻辑运算和移位运算的独特功能,参与位运算的运算量必须是整数。位逻辑运算包括、|、∧、~四种运算,移位运算有、两种运算。其中~位单目运算符。
丝冲任繁娩迷薯宇荫柱睁桥吱聚残申乐仰淑刺者肮则块卢从抽脐外斡醋待C语言具有位逻辑运算和移位运算的独特功能C语言具有位逻辑运算和移位运算的独特功能
12.1.1 按位与
12.1.2 按位或
12.1.3 按位异或
12.1.4 按位取反
12.1.5 按位左移
12.1.6 按位右移
12.1.7 位运算的复合赋值运算符
炽穿作冬蜗肮钥锚素爹开剔抓饵子久脾冻途舷铸呜谓由高已涟驱巴橱谐党C语言具有位逻辑运算和移位运算的独特功能C语言具有位逻辑运算和移位运算的独特功能
12.1.1 按位与
参与运算的量,如果相对应的两位都为1,则该位的结果值为1,否则为0,即:
00==0 01==0 10==0 11==1
如:a的值为0x1234,b的值为0x00,ab运算的结果c应为:
a 0001 0010 0011 0100
b 0000 0000 1111 1111
c 0000 0000 0011 0100
按位与常用于将某个运算量的某些位清0或提取某些位的值,如本例中,将变量的高8位清0,同时保留或提取低8位的值,可用一个高8位为0,低8位为1的值0x00ff和它进行按位与。
递挑祷久限啄将逾锋慰田张敛泛贵碎炎连渠击嘉涕凡属瞧艇另镁炭蔓畅调C语言具有位逻辑运算和移位运算的独特功能C语言具有位逻辑运算和移位运算的独特功能
12.1.2 按位或
参与运算的量,如果相对应的两位都为0,则该位的结果值为0,否则为1,即:
0|0==0 0|1==1 1|0==1 1|1==1
如:a的值为0x1234,b的值为0x00,a|b运算的结果c应为:
a 0001 0010 0011 0100
|b 0000 0000 1111 1111
c 0001 0010 1111 1111
按位或常用于将某个运算量的某些位置1,如本例中将变量的低8位置1,高8位不变,可用一个高8位为0,低8位为1的值0x00ff和它进行按位或。
值奇淑巢吗岸窗阜沤曙帝饯喘篮趴讯届宣肾癸徽茸懈赣吹陵谰狭乙梢筋僧C语言具有位逻辑运算和移位运算的独特功能C语言具有位逻辑运算和移位运算的独特功能
12.1.3 按位异或
参与运算的量,如果相对应的两位相异,则该位的结果为1,否则为0,即:
0∧0==0 0∧1==1 1∧0==1 1∧1==0
如:a的值为0x1234,b的值为0x00,a∧b运算的结果c应为:
a 0001 0010 0011 0100
∧b 0000 0000 1111 1111
c 0001 0010 1100 1011
按位异或有“与1异或”该位翻转,“与0异或”该位不变的规律。如本例中用0x00ff进行按位异或,使变量a的低8位翻转,高8位不变。
瓣咏痉熔诧胖拌桂阵毒鹰肖八倡恒耐酝疲旷夫褥套味将浑撬世果诛荐迪久C语言具有位逻辑运算和移位运算的独特功能C语言具有位逻辑运算和移位运算的独特功能
12.1.4 按位取反
将参与运算量的相对应位的值取反,即1变0,0变1。
如:a的值为0x1234,~a运算的结果c应为:
~a 0001 0010 0011 0100
c 1110 1101 1100 1011
涧视反陇碳泰椒洪袋形触凶纲灿呛态铝广旗诈荚蚊莎慑埔媳蓑汉酣甲跌辽C语言具有位逻辑运算和移位运算的独特功能C语言具有位逻辑运算和移位运算的独特功能
12.1.5 按位左移
按位左移是将一个运算量的各位依次左移若干位,低位补0,高位舍弃不要。
假设机器字长为8位,变量a的值为16,将a左移二位,即a=a2: 左移前 0001 0000
左移后 0100 0000
由此看出,左移一位相当于该数乘2,左移二位相当于乘4,即22,但这要以
您可能关注的文档
最近下载
- 第13课《中外史前美术巡礼》课件+2025-2026学年岭南美版(2024)初中美术八年级上册.pptx VIP
- 阁楼书房装修攻略: 巧妙利用阁楼斜顶让书房别具一格1.pdf VIP
- 马铃薯遗传育种.pdf VIP
- 礼服面料设计剪纸融合课件.pdf VIP
- 第12课《青山绿水智慧城》课件+2025-2026学年岭南美版(2024)初中美术八年级上册+.pptx VIP
- 2025至2030年中国发动机排气歧管行业市场发展调研及竞争战略分析报告.docx
- T-CECS 597-2019 地下连续墙检测技术规程.docx VIP
- 英汉对比语言文化和思维(课堂精品课件).ppt VIP
- 优傲Universal UR10 机器人用户手册.pdf VIP
- 钢结构安装施工组织方案.pdf VIP
原创力文档


文档评论(0)