一篇文章教你在C++中操作符可分為哪幾種類和用法
前篇
在上一篇中,我們講了算數(shù)操作符,移位操作符,我們還順帶著把幾個知識點重新給大家講了一遍,相信有了上篇的基礎(chǔ),這節(jié)課上起來會特別的輕松吧。
正片開始
這篇我來給大家講解,什么叫位操作符,什么又叫賦值操作符。
首先,那么我們先講概念,什么叫做位操作符呢?操作的又是那個位?這里操作的是二進(jìn)制位。位操作符就是把二進(jìn)制的數(shù)字按照規(guī)定好的程序執(zhí)行起來。
這里的符號有:
符號 | 代表的含義 |
---|---|
& | 按位與 |
| | 按位或 |
^ | 按位異或 |
按位與:
那么我們先來講按位與,我們來舉個例子:
就比如這個,因為這里 3 的二進(jìn)制位為:011
5 這里的二進(jìn)制位為:101
在這里,我們稱:0為假,1為真
按位與的時候,就是一假為假,全真則真。那么,意思就是:
這里我們算出來結(jié)果是001,我們在把這個二進(jìn)制數(shù)字轉(zhuǎn)換為十進(jìn)制數(shù)字結(jié)果是1,現(xiàn)在就可以在程序中調(diào)試出這個數(shù)字。我們來看一下調(diào)試結(jié)果。
答案是肯定的。
按位或:
先舉個栗子,我們經(jīng)常說,甲或者乙來幫忙都可以,那么這句話的意思就是甲來了,乙就可以不用來,乙來了,甲也就可以不用來。按位或也是相同的道理,寫法和按位與一致只不過把&換成|,我們可以按照按位與來分析一下按位或的工作原理。大同小異。
它也有口訣:有真則為真,全假則為假。我們?nèi)匀灰?,5舉個鮮明的例子來給大家看一下:
這里二進(jìn)制數(shù)為111,轉(zhuǎn)換十進(jìn)制數(shù)為 :7
我們一傳代碼看一下答案。
由此發(fā)現(xiàn),上述正確。
按位異或:
接下來,我們來講最后一個知識點:按位異或
有的小白心里就會說,可以仿照前面兩種形式的概念,我們可以去猜,按位異或是什么。
答案是可以的。
按位與是:一假全假,全真則真。
按位或是:有真為真,全假則假。
那么,有的小白就會想到會不會是:全真則假,全假為真呢?這個猜想一半是錯誤的。
按位異或的計算方式是:對應(yīng)二進(jìn)制位相同則為假,對應(yīng)二進(jìn)制位相異則為真 。那么這是什么意思呢?我們來看一下。
我們可以看到,輸出的結(jié)果是:110 轉(zhuǎn)換十進(jìn)制數(shù)字為 6
我們看一下實際操作的答案:
答案完全相等!?。?br />
我給大家在梳理一下本篇的口訣,這樣大家在學(xué)習(xí)的時候會事半功倍。
按位與:一假全假,全真則真。
按位或:有真為真,全假為假。
按位異或:相異為真,相同為假。
總結(jié)
本篇文章就到這里了,希望能夠給你帶來幫助,也希望您能夠多多關(guān)注腳本之家的更多內(nèi)容!
相關(guān)文章
基于WTL 雙緩沖(double buffer)繪圖的分析詳解
本篇文章是對WTL下使用雙緩沖(double buffer)繪圖進(jìn)行了詳細(xì)的分析介紹,需要的朋友參考下2013-05-05