一篇文章教你在C++中操作符可分為哪幾種類和用法

前篇

在上一篇中,我們講瞭算數操作符,移位操作符,我們還順帶著把幾個知識點重新給大傢講瞭一遍,相信有瞭上篇的基礎,這節課上起來會特別的輕松吧。

正片開始

這篇我來給大傢講解,什麼叫位操作符,什麼又叫賦值操作符。

首先,那麼我們先講概念,什麼叫做位操作符呢?操作的又是那個位?這裡操作的是二進制位。位操作符就是把二進制的數字按照規定好的程序執行起來。

這裡的符號有:

符號 代表的含義
& 按位與
| 按位或
^ 按位異或

按位與:

那麼我們先來講按位與,我們來舉個例子:

在這裡插入圖片描述

就比如這個,因為這裡 3 的二進制位為:011

5 這裡的二進制位為:101

在這裡,我們稱:0為假,1為真

按位與的時候,就是一假為假,全真則真。那麼,意思就是:

在這裡插入圖片描述

這裡我們算出來結果是001,我們在把這個二進制數字轉換為十進制數字結果是1,現在就可以在程序中調試出這個數字。我們來看一下調試結果。

按位與

答案是肯定的。

按位或:

先舉個栗子,我們經常說,甲或者乙來幫忙都可以,那麼這句話的意思就是甲來瞭,乙就可以不用來,乙來瞭,甲也就可以不用來。按位或也是相同的道理,寫法和按位與一致隻不過把&換成|,我們可以按照按位與來分析一下按位或的工作原理。大同小異。

它也有口訣:有真則為真,全假則為假。我們仍然以3,5舉個鮮明的例子來給大傢看一下:

按位或

這裡二進制數為111,轉換十進制數為 :7

我們一傳代碼看一下答案。

按位或

由此發現,上述正確。

按位異或:

接下來,我們來講最後一個知識點:按位異或

有的小白心裡就會說,可以仿照前面兩種形式的概念,我們可以去猜,按位異或是什麼。

答案是可以的。

按位與是:一假全假,全真則真。

按位或是:有真為真,全假則假。

那麼,有的小白就會想到會不會是:全真則假,全假為真呢?這個猜想一半是錯誤的。

按位異或的計算方式是:對應二進制位相同則為假,對應二進制位相異則為真 。那麼這是什麼意思呢?我們來看一下。

按位異或

我們可以看到,輸出的結果是:110 轉換十進制數字為 6

我們看一下實際操作的答案:

在這裡插入圖片描述

答案完全相等!!!

我給大傢在梳理一下本篇的口訣,這樣大傢在學習的時候會事半功倍。

按位與:一假全假,全真則真。

按位或:有真為真,全假為假。

按位異或:相異為真,相同為假。

總結

本篇文章就到這裡瞭,希望能夠給你帶來幫助,也希望您能夠多多關註WalkonNet的更多內容!

推薦閱讀: