- 相關(guān)推薦
C語言位運算基礎(chǔ)知識
位運算是計算機科學中的一種基本運算,它主要是對二進制位進行操作。C語言中提供了六種位運算操作符,分別是按位與(&)、按位或(|)、按位異或(^)、按位取反(~)、左移(<<)、右移(>>)。這些位運算可以用來完成許多有趣的操作,例如加密、解密、優(yōu)化算法等等。以下是小編整理的C語言位運算基礎(chǔ)知識,希望能夠幫助到大家。
C語言位運算基礎(chǔ)知識
1、程序中的所有數(shù)在計算機內(nèi)存中都是以二進制的形式儲存的。位運算說穿了,就是直接對整數(shù)在內(nèi)存中的二進制位進行操作。
2、與運算:只有前后兩個運算數(shù)都是 1 的時候結(jié)果才是1。
3、或運算:有1位為1,結(jié)果便為1。
4、異或:不相同則為1。
5、取反運算:將1變?yōu)?,將0變?yōu)?。
6、移位運算:左移則乘2,右移則除2。如果超出邊界,則舍棄。
c語言入門知識:位運算
一、位運算符
在計算機中,數(shù)據(jù)都是以二進制數(shù)形式存放的,位運算就是指對存儲單元中二進制位的運算。C語言提供6種位運算符。
二、位運算
位運算符 & |~<< >> ∧ 按優(yōu)先級從高到低排列的順序是:
位運算符中求反運算“~“優(yōu)先級最高,而左移和右移相同,居于第二,接下來的順序是按位與 “&“、按位異或 “∧“和按位或 “|“。順序為~ << >> & ∧ | 。
例1:左移運算符“<<”是雙目運算符。其功能把“<< ”左邊的運算數(shù)的各二進位全部左移若干位,由“<<”右邊的數(shù)指定移動的位數(shù),高位丟棄,低位補0。
例如:
a<<4
指把a的各二進位向左移動4位。如a=00000011(十進制3),左移4位后為00110000(十進制48)。
例2:右移運算符“>>”是雙目運算符。其功能是把“>> ”左邊的運算數(shù)的各二進位全部右移若干位,“>>”右邊的數(shù)指定移動的位數(shù)。
例如:
設(shè) a=15,a>>2
表示把000001111右移為00000011(十進制3)。
應(yīng)該說明的是,對于有符號數(shù),在右移時,符號位將隨同移動。當為正數(shù)時,最高位補0,而為負數(shù)時,符號位為1,最高位是補0或是補1 取決于編譯系統(tǒng)的規(guī)定。
例3:設(shè)二進制數(shù)a是00101101 ,若通過異或運算a∧b 使a的高4位取反,低4位不變,則二進制數(shù)b是。
解析:異或運算常用來使特定位翻轉(zhuǎn),只要使需翻轉(zhuǎn)的位與1進行異或操作就可以了,因為原數(shù)中值為1的位與1進行異或運算得0 ,原數(shù)中值為0的位與1進行異或運算結(jié)果得1。而與0進行異或的位將保持原值。異或運算還可用來交換兩個值,不用臨時變量。
如 int a=3 , b=4;,想將a與b的值互換,可用如下語句實現(xiàn):
a=a∧b;
b=b∧a;
a=a∧b;
所以本題的答案為: 11110000 。
【C語言位運算基礎(chǔ)知識】相關(guān)文章:
c語言位運算符的用法07-21
C語言中的運算規(guī)則03-17
C語言基礎(chǔ)知識12-20
C語言的條件運算符12-19
C語言條件運算符10-12
C語言關(guān)系運算符04-02
c語言入門基礎(chǔ)知識07-18
C語言字符型基礎(chǔ)知識03-15
C語言的基礎(chǔ)知識點復(fù)習08-18
C語言邏輯運算符有哪些03-17