c 操作符使用

2021-06-23 01:47:48 字數 1352 閱讀 5516

乙個下午的時間總算弄清楚c++各個操作符的使用方法,這個地方一直弄不清楚,今天終於有空把它弄清晰了

一:位操作符

1. & 操作符 (按位與)

運算子"&"是雙目運算子。 其功能是參與運算的兩數各對應的二進位相與。只有對應的兩個二進位均為1時,結果位才為1 ,否則為0。參與運算的數以補碼方式出現。

例如:9&5

可寫算式如下: 

00001001

&00000101

=00000001

2. |   操作符 (按位或)

運算子「^」是雙目運算子。 其功能是參與運算的兩數各對應的二進位相異或,當兩對應的二進位相異時,結果為1。參與運算數仍以補碼出現

例如:9|5

可寫算式如下:

00001001

|00000101

=00001101

3. ^  操作符(按位異或)

運算子「^」是雙目運算子。 其功能是參與運算的兩數各對應的二進位相異或,當兩對應的二進位相異時,結果為1。參與運算數仍以補碼出現

例如:9^5

可寫算式如下: 

00001001

^00000101

=00001100

4. ~ 操作符(求反)

運算子~為單目運算子,具有右結合性。 其功能是對參與運算的數的各二進位按位求反

例如:~(1001)

可寫算式如下: 

0110

5. << 操作符(左移運算子)

「<<」是雙目運算子。左移n位就是乘以2的n次方。 其功能把「<<」左邊的運算數的各二進位全部左移若干位,由「<<」右邊的數指定移動的位數,高位丟棄,低位補0

例: a<<4 指把a的各二進位向左移動4位。如a=00000011(十進位制3),左移4位後為00110000(十進位制48)。 3*2*2*2*2=48

6. >> 操作符(右移運算子)

「>>」是雙目運算子。右移n位就是除以2的n次方,其功能是把「>>」左邊的運算數的各二進位全部右移若干位,「>>」右邊的數指定移動的位數。

例: a<<4 指把a的各二進位向左移動4位。如a=00110000(十進位制3),左移4位後為00000011(十進位制48)。 48/2/2/2/2=3

二:&&與||

&&(邏輯與) 、 ||(邏輯或) :

作用:進行多項比較並將結果組合為單一的布林值。同時&&(邏輯與) 和 ||(邏輯或) 又是短路操作符,即左邊的表示式為假時,將不再執行右邊的表式。

規律: &&(邏輯與) ,全真才為真 ; ||(邏輯或),有真則為真。

&&(邏輯與):兩邊必須是boolean,只要左邊為假,右邊的就不會在繼續執行.

例如:9&&5=1,9||5=1,9&&0=0,9||0=1

c語言操作符 位操作符 移位操作符

1 按位操作符 1.1 按位 與 雙目運算子 僅當兩個運算元都為1時,結果為1,否則為0。參與運算的數以補碼方式出現。例 9 5 1 0000 1001 9的補碼 0000 0101 5的補碼 0000 0001 1的補碼 應用 a 通常將某些位清零或保留某些位。例如 將a的高八位清零,保留低八位,...

操作符使用

1.寫乙個函式返回引數二進位制中 1 的個數 比如 15 0000 1111 4 個 1 程式原型 int count one bits unsigned int value include include pragma warning disable 4996 方法一 int count one ...

c 過載操作符使用示例

1.overload.h 如下 ifndef overload h define overload h include class overload overload double x,double y overload operator const overload a overload oper...