當前位置:
首頁 > 最新 > 實戰演練!C語言小白入門必須要掌握的位運算!

實戰演練!C語言小白入門必須要掌握的位運算!

所謂位運算,就是對一個比特(Bit)位進行操作。在《二進位思想以及數據的存儲》一節中講到,比特(Bit)是一個電子元器件,8個比特構成一個位元組(Byte),它已經是粒度最小的可操作單元了。

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

按位與運算(&)

一個比特(Bit)位只有 0 和 1 兩個取值,只有參與

&

運算的兩個位都為 1 時,結果才為 1,否則為 0。例如

1&1

為 1,

0&0

為 0,

1&0

也為 0,這和邏輯運算符

&&

非常類似。

C語言中不能直接使用二進位,

&

兩邊的操作數可以是十進位、八進位、十六進位,它們在內存中最終都是以二進位形式存儲,

&

就是對這些內存中的二進位位進行運算。其他的位運算符也是相同的道理。

C語言位運算

有6種: &, | , ^(亦或), >(右移)。

注意:參與位運算的元素必須是int型或者char型,以補碼形式出現。小編推薦一個學C語言/C++的學習裙【 六二七,零一二,四六四 】,無論你是大牛還是小白,是想轉行還是想入行都可以來了解一起進步一起學習!裙內有開發工具,很多乾貨和技術資料分享!

按位與&

&運算常應用於:

迅速清零

保留指定位

判斷奇偶性

a & 1 = 1;則a為奇數

b & 1 = 0;則a為偶數

按位或|

按位或(「|」)用途:設定數據的指定位

按位異或^

異或 就是位相同等於零,相異等於1

按位異或作用:

1.定位反轉

2.交換數值

//交換a和b的值

按位取反~

左移、右移

讓二進位左移N位,高位丟棄,低位補0,得到的 新值 = 原值*2^N,

作用:實現二倍乘除運算(右移幾位相當於除於二的幾次方。左移幾位,相當於乘上二的幾次方。)

問題:int是有符號類型,左移可能會把符號左移出去,發生溢出。


喜歡這篇文章嗎?立刻分享出去讓更多人知道吧!

本站內容充實豐富,博大精深,小編精選每日熱門資訊,隨時更新,點擊「搶先收到最新資訊」瀏覽吧!


請您繼續閱讀更多來自 Java部落 的精彩文章:

TAG:Java部落 |