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