一篇文章教你在C++中操作符可分為哪幾種類和用法
前篇
在上一篇中,我們講瞭算數操作符,移位操作符,我們還順帶著把幾個知識點重新給大傢講瞭一遍,相信有瞭上篇的基礎,這節課上起來會特別的輕松吧。
正片開始
這篇我來給大傢講解,什麼叫位操作符,什麼又叫賦值操作符。
首先,那麼我們先講概念,什麼叫做位操作符呢?操作的又是那個位?這裡操作的是二進制位。位操作符就是把二進制的數字按照規定好的程序執行起來。
這裡的符號有:
符號 | 代表的含義 |
---|---|
& | 按位與 |
| | 按位或 |
^ | 按位異或 |
按位與:
那麼我們先來講按位與,我們來舉個例子:
就比如這個,因為這裡 3 的二進制位為:011
5 這裡的二進制位為:101
在這裡,我們稱:0為假,1為真
按位與的時候,就是一假為假,全真則真。那麼,意思就是:
這裡我們算出來結果是001,我們在把這個二進制數字轉換為十進制數字結果是1,現在就可以在程序中調試出這個數字。我們來看一下調試結果。
答案是肯定的。
按位或:
先舉個栗子,我們經常說,甲或者乙來幫忙都可以,那麼這句話的意思就是甲來瞭,乙就可以不用來,乙來瞭,甲也就可以不用來。按位或也是相同的道理,寫法和按位與一致隻不過把&換成|,我們可以按照按位與來分析一下按位或的工作原理。大同小異。
它也有口訣:有真則為真,全假則為假。我們仍然以3,5舉個鮮明的例子來給大傢看一下:
這裡二進制數為111,轉換十進制數為 :7
我們一傳代碼看一下答案。
由此發現,上述正確。
按位異或:
接下來,我們來講最後一個知識點:按位異或
有的小白心裡就會說,可以仿照前面兩種形式的概念,我們可以去猜,按位異或是什麼。
答案是可以的。
按位與是:一假全假,全真則真。
按位或是:有真為真,全假則假。
那麼,有的小白就會想到會不會是:全真則假,全假為真呢?這個猜想一半是錯誤的。
按位異或的計算方式是:對應二進制位相同則為假,對應二進制位相異則為真 。那麼這是什麼意思呢?我們來看一下。
我們可以看到,輸出的結果是:110 轉換十進制數字為 6
我們看一下實際操作的答案:
答案完全相等!!!
我給大傢在梳理一下本篇的口訣,這樣大傢在學習的時候會事半功倍。
按位與:一假全假,全真則真。
按位或:有真為真,全假為假。
按位異或:相異為真,相同為假。
總結
本篇文章就到這裡瞭,希望能夠給你帶來幫助,也希望您能夠多多關註WalkonNet的更多內容!