c語言位與運算
A. c語言中按位與(&)運算符是什麼意思
位運算符就是直接對整數在內存中的二進制位進行操作運算。比如,&&運算本來是一個邏輯運算符,但整數與整數之間可以用&進行運算。舉個例子,6的二進制是110,11的二進制是1011,那麼6 & 11的結果就是2,它是二進制對應位進行邏輯運算的結果(0表示False,1表示True,空位都當0處理)。
C語言提供了六種按位運算符:& 按位與| 按位或^ 按位異或~ 取反<< 左移>> 右移
也就是與上0相當於把那位數清0,與上1相當於把那位保留。
B. C語言的程序按位 與(&)運算什麼運算啊
先把&運算的兩個值轉換成二進制,然後逐位進行與運算。
例如:3&5並不等於8,應該是按位與。
3 = 00000011
(&) 5 = 00000101
——————————
00000001
因此,3&5的值得1。如果參加&是負數運算的是負數(如-3 & -5),則以補碼形式表示為二進制數,然後按位進行「與」運算。
C. C語言位運算
按位與 | 按位或 ^
按位異或 ~ 取反 <<
左移 >> 右移<<
1. 按位與運算。按位與運算符"&"是雙目運算符。其功能是參與運算的兩數各對應的二進位相與。只有對應的兩個二進位均為1時,結果位才為1 ,否則為0。參與運算的數以補碼方式出現。
2. 按位或運算。按位或運算符「|」是雙目運算符。其功能是參與運算的兩數各對應的二進位相或。只要對應的二個二進位有一個為1時,結果位就為1。參與運算的兩個數均以補碼出現。 例如:9|5可寫算式如下: 00001001|00000101 00001101 (十進制為13)可見9|5=13 main(){ int a=9,b=5,c; c=a|b; printf("a=%d/nb=%d/nc=%d/n",a,b,c); }
3. 按位異或運算。按位異或運算符「^」是雙目運算符。其功能是參與運算的兩數各對應的二進位相異或,當兩對應的二進位相異時,結果為1。參與運算數仍以補碼出現,例如9^5可寫成算式如下: 00001001^00000101 00001100 (十進制為12) main(){ int a=9; a=a^15; printf("a=%d/n",a); }。
5. 左移運算。左移運算符「<<」是雙目運算符。其功能把「<< 」左邊的運算數的各二進位全部左移若干位,由「<<」右邊的數指定移動的位數, 高位丟棄,低位補0。例如: a<<4 指把a的各二進位向左移動4位。如a=00000011(十進制3),左移4位後為00110000(十進制48)。
D. C語言中的位運算是怎樣的
如果你把所有的操作數都用二進制來表達就清晰了,如下
位與 & 相同位按與來運算即可 如:
1 & 2 =0
-------------
二進制是這樣的 01 & 10 = 00
位或 | 一樣,按位來或即可
1|2 = 3
--------------
二進制是這樣: 01|10=11
其他位運算都是按二進制位來運算的,你轉換成2進制就好理解了
E. C語言中按位與(&)運算符是什麼意思
是將二進制數按照位的對應相與,得到一個新的二進制數。1與0為0;1與1為1;0與0為0。
分析如下:
就是二進制的每一位相與。
比如:1010 0011& 0000 1111,結果為0000 0011。也就是與上0相當於把那位數清0,與上1相當於把那位保留。
(5)c語言位與運算擴展閱讀:
1、按位與運算符"&"是雙目運算符。 其功能是參與運算的兩數各對應的二進位相與。只有對應的兩個二進位均為1時,結果位才為1 ,否則為0。參與運算的數以補碼方式出現。
例如:9&5可寫算式如下: 00001001 (9的二進制補碼)&00000101 (5的二進制補碼) 00000001 (1的二進制補碼)可見9&5=1。 按位與運算通常用來對某些位清0或保留某些位。例如把a 的高八位清 0 , 保留低八位, 可作 a&255 運算 ( 255 的二進制數為11111111)。
F. c語言位運算是什麼
運算:C語言的運算非常靈活,功能十分豐富,運算種類遠多於其它程序設計語言。
在表達式方面較其它程序語言更為簡潔,如自加、自減、逗號運算和三目運算使表達式更為簡單,但初學者往往會覺的這種表達式難讀,關鍵原因就是對運算符和運算順序理解不透不全。
當多種不同運算組成一個運算表達式,即一個運算式中出現多種運算符時,運算的優先順序和結合規則就會顯得十分重要。
運算符號:
比較特別的是,比特右移(>>)運算符可以是算術(左端補最高有效位)或是邏輯(左端補0)位移。
例如,將11100011右移3比特,算術右移後成為11111100,邏輯右移則為00011100。因算術比特右移較適於處理帶負號整數,所以幾乎所有的編譯器都是算術比特右移。
運算符的優先順序從高到低大致是:單目運算符、算術運算符、關系運算符、邏輯運算符、條件運算符、賦值運算符(=)和逗號運算符。
G. C語言按位與怎麼運算
計算兩個數x,y相與的結果。
代碼寫作x&y
先將x與y分別寫成二進制bit形式~~
例如計算10&30
10二進制為1010
30為11110
然後從低位開始,每個bit分別作與運算~~
其中bit的與運算,除了1&1=1外,其餘組合結果均為0
故10&30=01010,即1010。。。
H. C語言中位運算是怎麼樣的
就是對一個X進制數對應在內存中存放為二進制形式的數碼,進行二進制的位的操作後,得到原進制數值。
位操作有:與&、或I、異^、左移<<、右移>>。
根據這些符號所代表的操作規則來計算一個數的二進制。