亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定

【備戰春招】第8天-C01位運算之按位或

標簽:
C
  • 课程名称:Linux C语言结构体
  • 课程链接:http://www.xianlaiwan.cn/learn/409
  • 章节名称:
    • 第6章:位运算的秘密
      • 6-2 按位或
      • 6-3 按位异或
  • 讲师姓名:雷过就跑
  • 时间:2023-02-14 17:30

课程内容

  • 按位或:将参与的两个数进行逻辑或运算

    • 作用:设定数据指定位上的值比如:一个int类型的数值,用二进制表示为
      • 0010,0101-1101,1001-0010,0110-1101,0101
      • 如果想将左数第3个字节都换成1,可以使用数值 | 0xFF00
  • 按位异或:异或是运算位值都不相同,结果为1,否则为0,也可以说对位二进制数互斥,结果为真,否则为假

    • 作用:

      • 定位翻转功能:把指定位值0与1互转,例如想把左数最后一个字节按位翻转,可以使用数值 ^ 0xFF

      • 数值交换功能

        • int a = 9, b = 5;
          a = a ^ b;
          b = a ^ b;
          a = a ^ b;
          
        • 上述代码能够成立的原因在于a ^ a = 0; a ^ b = b ^ a自己和自己异或,结果为0;异或运算满足交换率

  • 按位取反,是唯一单目运算符,对每一位取反

学习心得

以前一直没有搞懂为什么异或运算可以不用增加中间变量来交换两个变量的值,这回的学习搞清楚了,是因为异或运算有一些特殊性质
按位或
按位异或

點擊查看更多內容
TA 點贊

若覺得本文不錯,就分享一下吧!

評論

作者其他優質文章

正在加載中
JAVA開發工程師
手記
粉絲
9
獲贊與收藏
1

關注作者,訂閱最新文章

閱讀免費教程

  • 推薦
  • 評論
  • 收藏
  • 共同學習,寫下你的評論
感謝您的支持,我會繼續努力的~
掃碼打賞,你說多少就多少
贊賞金額會直接到老師賬戶
支付方式
打開微信掃一掃,即可進行掃碼打賞哦
今天注冊有機會得

100積分直接送

付費專欄免費學

大額優惠券免費領

立即參與 放棄機會
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號

舉報

0/150
提交
取消