什麼是c的按位與運算,能說得詳細一點嗎

2021-03-03 20:34:12 字數 2492 閱讀 8134

1樓:黯湮灬逍遙

有2個char型數:

5:0000 0101

6:0000 0110

按位與:

0000 0111 <——每位都做與,0和0為0,其他為1.

就是7了。

2樓:超人漢考克一世

程式中的bai所有數在計算機記憶體中du都是以二進位制的形zhi式儲存的。位運算說穿了dao,就是直接版

對整數在記憶體中的二進位制權位進行操作。比如,& 運算本來是一個邏輯運算子,但整數與整數之間也可以進行 & 運算。舉個例子,6的二進位制是110,11的二進位制是1011,那麼6 & 11的結果就是2,它是二進位制對應位進行邏輯運算的結果(0表示false,1表示true,空位都當0處理)

3樓:匿名使用者

就是對二進位制數的每一位進行操作

比如a=10 (二進位制1010)

b=5 (二進位制0101)

那麼a&b= 0; a|b=15

c++中 & (按位與),怎麼運算。舉幾個例子

4樓:匿名使用者

按位與運算子"&"是雙目運算子。 其功能是參與運算的兩數各對應的二進位相與。

只有對應的兩個二進位均為1時, 結果位才為1, 否則為0。

比如

0010 0111&0000 1111=0000 0111

c++中按位與有什麼用?怎麼用?

5樓:匿名使用者

一般是用來保留某些位,其他位清零。舉個例子,某個數字字元a,a可能是'0'或者'1'或者..或者'9',要將它轉化成數字,也就是0或者1或者..

或者9,你可以用a=a-'0',當然你可以寫成a-='0',這是作減法,可以達到目的。

如果你注意到'0'實際上是0x30,依次類推,'9'實際上是0x39的話,就可能想到將高4位清成0也能達到目的。於是你可以這樣a=a&0x0f,當然你愛寫成a&=15也是一樣的。

記得要保留不變的位,相與的數相應位置要是1,要清零的位相與的數相應位置要是0。

拿『7'變成7舉例,一般是寫出二進位制形式來算按位與

可以看出最後的00000111就是7

就這個例子而言不一定用按位與,但是這個容易想到也比較容易理解

6樓:匿名使用者

1、清零

如果想將一個二進位制數的某些位清零,就可以通過二進位制的0與運算。(清零的數是不唯一的)

1.1如,14的二進位制表示為:1110;讓它和1做與。

顯然,給位都得0000了。

2、獲取二進位制的某些指定位

如果想獲得指定的二進位制位,就只要和二進位制的1與運算了。

2.2如,15的二進位制表示為:1111,和1做與。

顯然我們會得到的是1,保留了低位0001,其他位都發生了變化。

c語言按位與怎麼運算?

7樓:匿名使用者

計算兩個數x,y相與的結果。

**寫作x&y

先將x與y分別寫成二進位制bit形式~~

例如計算10&30

10二進位制為1010

30為11110

然後從低位開始,每個bit分別作與運算~~其中bit的與運算,除了1&1=1外,其餘組合結果均為0故10&30=01010,即1010。。。

8樓:匿名使用者

注意a的初始化是八進位制數,十進位制表示是36929,同理a1是十進位制數

兩個數看起來是二進位制,但是都必須重新轉換為二進位制進行位運算

9樓:匿名使用者

| //按位或 有1得1 二元/二目& //按位與 有0得0 二元/二目^ //按位異或 相同得零 二元/二目~ //按位求反 一元/一目

c++中,按位或"|"和按位異或"^"有什麼區別?

10樓:匿名使用者

按位或只要有一位為1,結果就為1,都為0就為0按位異或只有兩個不同時,結果為1,兩個都相同時為0按位或:

1011

結果為11

按位異或

1011

結果為01

11樓:匿名使用者

||按位或"|"--

bai-有1為1

0|du0=zhi0 ;

dao0|1=1 ;

1|0=1 ;

1|1=1 ;

按位專異或"^"---相同為0,不同屬為10^0=0 ;

0^1=1 ;

1^0=1 ;

1^1=0 ;

c語言中的位運算子中 按位取反 是怎麼運算的

使用 按位取反運算的時候,計算機會將運算元所對應的二進位制表示式的每一版 個位進行取反權計算,取反後所得到的值就是 按位取反的運算結果。例如,假如計算機是32位的,接下來要計算 5的值,計算過程如下 5 的二進位制表示式為 0000 0000 0000 0000 0000 0000 0000 010...

請教C語言,請教一下C語言中按位取反 的使用

在你原來程式的基礎上做了些改動,如下 include int main void int i,j,k,j1,k1 for i 6 i 100 i i 2 for j 2 j i 2 j 判斷i是由兩個素陣列成,尋找素數j for j1 2 j1 j j1 判斷j是不是素數 if j j1 0 j j...

C語言中的位運算是幹什麼的,C語言中的位運算有什麼優點?

通常在遇到byte運算問題時要用.例如gif image 檔案中的 螢幕定義塊 中的第5個位元組 byte 是 packed fields 最高位1個bit是有無全域性調色盤標誌位.接下來3個bit是分辯率 接下來1個bit是調色盤顏色是否安出現頻繁程度分過類的標誌位.最低的3個bit是調色盤顏色表...