2013-05-09 97 views
4

所以我目前正在通過「SAMS每天1小時自學C++」這本書學習C++。到目前爲止,這真是太棒了 - 我已經理解了所說的一切,並且我已經設法在簡單的程序中使用它們來練習它們。爲什麼要使用按位運算符?

然而,我剛剛到了位運算符的部分,我完全難住了。我知道你有&,〜,|,< <,>>等,我明白,每個人對二進制形式的數字執行不同的操作,以翻轉數字。

我遇到的問題是我無法理解如何以及爲什麼要使用它們。我非常喜歡採用int,將二進制數字翻轉過來,並有另一個數字,但這對我的形狀或形式有什麼幫助?我很感激你爲什麼要使用每一個解釋,如果可能的話,可能是一個例子?

謝謝大家!

+2

http://en.wikipedia.org/wiki/Bitwise_operation,http://stackoverflow.com/q/11945481/62576 – 2013-05-09 20:25:31

+1

@KenWhite他不是問*它是什麼,但它的實際用途是什麼。 – 0x499602D2 2013-05-09 20:26:43

+0

這本書肯定會告訴你嗎?...... – 2013-05-09 20:27:10

回答

1

有很多應用程序,但這裏有兩個例子。假設您有八個1位值存儲在一個單字節容器中。按位和2的冪可輕鬆訪問各個位。

如果您正在掃描RGB圖像中的高強度像素,則可以使用按位和128對三種顏色值;這是比R> 128等其他布爾表達式更快的操作。