C語言位運算詳解
位運算是指按二進制進行的運算。在系統軟件中,常常需要處理二進制位的問題。C語言提供了6個位操作運算符。這些運算符只能用於整型操作數,即只能用於帶符號或無符號的char,short,int與long類型。以下是關於C語言位運算詳解內容,歡迎參考學習!
位運算是指按二進制進行的運算。在系統軟件中,常常需要處理二進制位的問題。C語言提供了6個位操作運算符。這些運算符只能用於整型操作數,即只能用於帶符號或無符號的char,short,int與long類型。
C語言提供的位運算符列表:
運算符含義描述
& 按位與 如果兩個相應的二進制位都為1,則該位的結果值為1,否則為0
| 按位或 兩個相應的二進制位中只要有一個為1,該位的結果值為1
^ 按位異或 若參加運算的兩個二進制位值相同則為0,否則為1
~ 取反 ~是一元運算符,用來對一個二進制數按位取反,即將0變1,將1變0
<< 左移 用來將一個數的各二進制位全部左移N位,右補0
>> 右移 將一個數的各二進制位右移N位,移到右端的`低位被捨棄,對於無符號數, 高位補0
1、“按位與”運算符(&)
按位與是指:參加運算的兩個數據,按二進制位進行“與”運算。如果兩個相應的二進制位都為1,
則該位的結果值為1;否則為0。這裏的1可以理解為邏輯中的true,0可以理解為邏輯中的false。按位與其
實與邏輯上“與”的運算規則一致。邏輯上的“與”,要求運算數全真,結果才為真。若,
A=true,B=true,則A∩B=true 例如:3&5 3的二進制編碼是11(2)。(為了區分十進制和其他進制,本文規
定,凡是非十進制的數據均在數據後面加上括號,括號中註明其進制,二進制則標記為2)內存儲存數據
的基本單位是字節(Byte),一個字節由8個位(bit)所組成。位是用以描述電腦數據量的最小單位。二
進制系統中,每個0或1就是一個位。將11(2)補足成一個字節,則是00000011(2)。5的二進制編碼是
101(2),將其補足成一個字節,則是00000101(2)
按位與運算:
00000011(2)
&00000101(2)
00000001(2)
由此可知3&5=1
c語言代碼:
-
2017計算機二級C語言備考訓練題
在複習階段多做練習可以幫助我們鞏固知識和提高做題速度以及掌握做題技巧等。下面是應屆畢業生考試網小編為大家整理的2017年計算機二級C語言備考訓練題,希望可以幫助到大家的學習!一、填空題(1)算法的基本特徵是可行性、確定性、______和擁有足夠的情報。答:有...
-
2017上半年計算機二級C語言考前模擬試題
為了幫助大家提高計算機考試成績,今天本站小編特地為大家收集了以下2017上半年計算機二級C語言考前模擬試題,歡迎學習!一、程序填空題給定程序中,函數fun的功能是:把形參S所指字符串中最右邊的n個字符複製到形參t所指字符數組中,形成一個新串。若s所指字符串的長度...
-
計算機二級C語言上機程序填空題
考慮到一部分同學的計算機二級C語言程序填空題基礎比較薄弱,為此本站小編為大家整理了計算機二級C語言上機程序填空題,希望能夠幫助到同學們。一、程序填空題1、給定程序中,函數fun的功能是根據形參i的值返回某個函數的值。當調用正確時,程序輸出:x1=5.000000,x2=3...
-
基礎C語言編程時易犯錯誤
C編譯的程序對語法檢查並不象其它高級語言那麼嚴格,這就給編程人員留下“靈活的餘地”,但還是由於這個靈活給程序的調試帶來了許多不便,尤其對初學C語言的人來説,經常會出一些連自己都不知道錯在哪裏的錯誤。看着有錯的程序,不知該如何改起,通過對C的學習,積累了一些C...