當前位置:首頁 » 編程語言 » C語言中如何表示或

C語言中如何表示或

發布時間: 2025-05-04 10:24:15

c語言中同或、異或怎麼表示

1、概念:參加運算的兩個對象,按二進制位進行「與」運算,負數按補碼形式參加按位與運算。

2、運算規則:0&0=0; 0&1=0;1&0=0;1&1=1;即:兩位同時為「1」,結果才為「1」,否則為0【有0則0】

例如:3&5=1,即0000 0011 & 0000 0101 = 0000 0001

3、「與運算」特殊用途:

(1)清零。如果想將一個單元清零,即使其全部二進制位為0,只要與一個各位都為零的數值相與,結果為零。

(2)取一個數中指定位。找一個數,對應X要取的位,該數的對應位為1,其餘位為零,此數與X進行「與運算」可以得到X中的指定位。

例:設X=10101110,取X的低4位,用 X & 0000 1111 = 0000 1110 即可得到;還可用來取X的2、4、6位。

二、按位或(|)

1、概念:參加運算的兩個對象按二進制位進行「或」運算,負數按補碼形式參加按位與運算。

2、運算規則:0|0=0;0|1=1;1|0=1;1|1=1;即 :參加運算的兩個對象只要有一個為1,其值為1【有1則1】

例如:3|5=7,即 0000 0011 | 0000 0101 = 0000 0111

3、「或運算」特殊作用:

(1)常用來對一個數據的某些位置1。找到一個數,對應X要置1的位,該數的對應位為1,其餘位為零。此數與X相或可使X中的某些位置1。

例:將X=10100000的低4位置1 ,用 X | 0000 1111 = 1010 1111即可得到。

三、異或運算(^)

1、概念:參加運算的兩個數據,按二進制位進行「異或」運算

2、運算規則:0^0=0;0^1=1;1^0=1;1^1=0;即:參加運算的兩個對象,如果兩個相應位為「異」(值不同),則該位結果為1,否則為0【同0異1】

例如:3^5=6,即0000 0011^0000 0101 = 0000 0110

3、「異或運算」特殊作用:

(1)使特定位翻轉 找一個數,對應X要翻轉的各位,該數的對應位為1,其餘位為零,此數與X對應位異或即可。

(2)與0相異或,保留原值 ,X ^ 0000 0000 = 1010 1110。

例:X=10101110,使X低4位翻轉,用X ^ 0000 1111 = 1010 0001即可得到。

(3)基於異或運算,不引用新變數交換兩個變數的值

a = a ^ b; b = a ^ b; a = a ^ b;

【同樣基於加減法的話有:a = a + b; b = a - b; a = a -b;】

四、不同長度的數據進行位運算

如果兩個不同長度的數據進行位運算時,系統會將二者按右端對齊,然後進行位運算。

以「與」運算為例說明如下:我們知道在C語言中long型佔4個位元組,int型佔2個位元組,如果一個long型數據與一個int型數據進行「與」運算,右端對齊後,左邊不足的位依下面三種情況補足,

(1)如果整型數據為正數,左邊補16個0。

(2)如果整型數據為負數,左邊補16個1。

(3)如果整形數據為無符號數,左邊也補16個0。

如:long a=123;int b=1;計算a & b。

如:long a=123;int b=-1;計算a & b。

如:long a=123;unsigned int b=1;計算a & b。

㈡ C語言中「或者」是怎麼表示的

C語言中「或者」的表示很簡單,就是「||」,「與」是「&&」。

㈢ C語言中"或者"是怎麼表示的

「||」

其它常用運算符:

1、移位運算符

<< 左移運算符;>> 右移運算符。

2、關系運算符

<、<=、>、>=關系運算符。

3、相等運算符

「 == 」等於運算符;「 != 」不等於運算符。

4、位與運算符

「 & 」按位與運算符

5、位異或運算符

「 ∧ 」按位異或運算符(Bitwise exclusive OR operator)。

6、邏輯與運算符

「&&」邏輯與運算符。

(3)C語言中如何表示或擴展閱讀

運算符的特性——

1、優先順序:

C語言中,運算符的運算優先順序共分為15 級。1 級最高,15 級最低。 在表達式中,優先順序較高的先於優先順序較低的進行運算。而在一個運算量兩側的運算符 優先順序相同時,則按運算符的結合性所規定的結合方向處理。

2、結合性:

C語言中各運算符的結合性分為兩種,即左結合性(自左至右)和右結合性(自右至左)。例如算術運算符的結合性是自左至右,即先左後右。如有表達式x-y+z 則y 應先與「-」號結合,執行x-y 運算,然後再執行+z 的運算。

熱點內容
modely選哪些配置比較好 發布:2025-05-04 14:02:49 瀏覽:973
java編譯器在哪裡執行 發布:2025-05-04 13:42:44 瀏覽:374
我的世界海島生存伺服器 發布:2025-05-04 13:35:22 瀏覽:864
pythonsd 發布:2025-05-04 13:29:02 瀏覽:564
pythonlogging格式 發布:2025-05-04 13:18:58 瀏覽:851
起亞k3壓縮比是多少 發布:2025-05-04 13:16:56 瀏覽:539
java字元串切割 發布:2025-05-04 13:16:46 瀏覽:987
物流管理存儲 發布:2025-05-04 13:16:45 瀏覽:722
18款昂科拉哪個配置最值得購買 發布:2025-05-04 13:13:49 瀏覽:481
unbuntu18編譯vlc 發布:2025-05-04 12:52:19 瀏覽:487