當前位置:首頁 » 編程語言 » c語言按位與什麼意思
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

c語言按位與什麼意思

發布時間: 2022-01-19 06:57:18

1. c語言按位異或什麼意思

按位異或,其操作符為^,形式為
a^b
計算時,根據操作數a和b每位的值,計算結果,當a,b的對應位上值相同時,結果的該位上值為0,否則值為1。

char a = 0x12, b = 0x34;
a^b
= 0x12 ^ 0x34
= B0001 0010 ^ B0011 0100
= B0010 0110
=0x26

2. C語言的按位與,或,非,異或都什麼意思.有什麼用

位運算符有:&(按位與)、|(按位或)、^(按位異或)、~ (按位取反)。

優先順序從高到低,依次為~、&、^、|

按位與運算有兩種典型用法,一是取一個位串信息的某幾位,如以下代碼截取x的最低7位:x & 0177。二是讓某變數保留某幾位,其餘位置0,如以下代碼讓x只保留最低6位:x = x & 077。

按位或運算的典型用法是將一個位串信息的某幾位置為1。如將要獲得最右4位為1,其他位與變數j原來其他位保持相同,可用邏輯或運算017|j;

按位異或運算的典型用法是求一個位串信息的某幾位信息的反。如欲求整型變數j的最右4位信息的反,用邏輯異或運算017^j,就能求得j最右4位的信息的反,即原來為1的位,結果是0,原來為0的位,結果是1。 交換兩個值,不用臨時變數,假如a=3,b=4。想將a和b的值互換,可以用以下賦值語句實現:
a=a^b; b=b^a; a=a^b;

取反運算常用來生成與系統實現無關的常數。如要將變數x最低6位置成0,其餘位不變,可用代碼x = x & ~077實現。

3. C語言的邏輯運算和按位運算怎麼區分

1、作用的不同

&&、||是邏輯運算符,用於從左到右求表達式的真值。假設x=1;y=2;那麼x&&y=1;x||y=1。

&、|是位運算符,是對x,y進行位運算,x,y取值如上,那麼有x&y=0;(x的二進製表示為00,y的二進製表示為10)。

2、判斷這個表達式的真或假的不同

&和|既是邏輯運算符也是位運算符,而&&和||只是邏輯運算符。

當&與&&同為邏輯運算符時,它們都用於連接兩個Boolean類型的表達式,當&和&&的兩端表達式同時為真時,表達式的結果為真,只要有一端為假,那麼表達式結果為假。

例:3>5&3>2;3>5&&3>2;

當|和||的兩端表達式同時為假時,表達式的結果為假,只要有一端為真,那麼表達式結果為真。

3、計算方式不同

當使用&運算符:計算機在判斷表達式的值的時候,先判斷3>5的值為假,然後再判斷3>2的結果為真,於是最後的結果是假&真為假;

但是當我們使用&&運算符的時候:計算機先判斷3>5的值為假,此時表達式的結果一定為假,所以計算機就不再往下判斷了,判定表達式結果為假。

4. C語言中按位與(&)運算符是什麼意思

位運算符就是直接對整數在內存中的二進制位進行操作運算。比如,&&運算本來是一個邏輯運算符,但整數與整數之間可以用&進行運算。舉個例子,6的二進制是110,11的二進制是1011,那麼6 & 11的結果就是2,它是二進制對應位進行邏輯運算的結果(0表示False,1表示True,空位都當0處理)。
C語言提供了六種按位運算符:& 按位與| 按位或^ 按位異或~ 取反<< 左移>> 右移

也就是與上0相當於把那位數清0,與上1相當於把那位保留。

5. C語言中「按位運算符」是什麼意思

1、按位運算符就是直接對整數在內存中的二進制位進行操作運算。比如,&&運算本來是一個邏輯運算符,但整數與整數之間可以用&進行運算。舉個例子,6的二進制是110,11的二進制是1011,那麼6 & 11的結果就是2,它是二進制對應位進行邏輯運算的結果(0表示False,1表示True,空位都當0處理)。

2、C語言提供了六種按位運算符:
& 按位與
| 按位或
^ 按位異或
~ 取反
<< 左移
>> 右移

6. C語言中按位與(&)運算符的應用

這里的0177是8進制數,表示成2進制後為000 001 111 111,除了低7位是1,其他高位都是0,0和任何數與(&)的結果都是0!

7. c語言中按位與。。按位或什麼意思

位運算符C語言提供了六種位運算符:

& 按位與
| 按位或
^ 按位異或
~ 取反
<< 左移
>> 右移

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

例如:9&5可寫算式如下: 00001001 (9的二進制補碼)&00000101 (5的二進制補碼)00000001 (1的二進制補碼)可見9&5=1。

8. C語言,按位與

注意a的初始化是八進制數,十進製表示是36929,同理a1是十進制數
兩個數看起來是二進制,但是都必須重新轉換為二進制進行位運算