日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 综合教程 >内容正文

综合教程

9位运算

發布時間:2024/6/21 综合教程 31 生活家
生活随笔 收集整理的這篇文章主要介紹了 9位运算 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

異或運算:^ --> 兩個變量,按照bit位比較,同位置 bit位相等 則結果為 0, 不相等,則結果為1

任意數 x   x^x = 0; x^(~x) = 0xffffffff
      x^0 = x; x^0xffffffff = ~x

或運算:|--> 把兩個變量, 按照bit位比較,同位置的bit位 有一個 為 1 ,則結果 為 1,只有兩個值都為 0 的情況,結果才 為0

與運算:&--> 把兩個變量, 按照bit位比較,同位置的bit位 有一個為 0, 則結果為 0,只有兩個值都為 1 的情況,結果才為1

事實上:| 和 || 很類似,只是說 | 是按照bit位一位位運算,& 和 && .............

教室里面有 32 盞燈, 我們怎么表示 這些燈的 打開關閉狀態 ?
-- 使用 32 個變量嗎 ?
-- 關閉第三個燈,打開其他所有燈?

可以使用 1 個 int 來表示 32 個燈的開關狀態:每個 bit位表示 1盞燈 (0關,1開)
if (a[5] == 0) a[5] = 1; else a[5] = 0;

比如說,原來32 個燈 開關狀態是 x
我們操作 x ----》 x = ~(1 << 29)

假如我們想打開 第 5 盞燈 (其他燈保持原狀態) x |= (1<<27)
--> 把第5個bit位置位1,其他bit位不變

假如我們想關閉 第 5 盞燈 (其他燈保持原狀態) x &= ~(1<<27)
--> 把第5個bit位置位 0,其他bit位不變

假如,我們想修改第5盞燈狀態 (其他燈保存原狀態) x ^= (1<<27)
--> 把第5個bit位取反

假如我們想 獲取第 5 盞燈的狀態? --> x & (1<<27)
--> 結果為 0 表示關閉,非0表示打開
--> (這個非0值, 就是 1<<27)

#define LED_1 1
#define LED_2 2
#define LED_3 4
#defien LED_4 8
......(10, 20, 40, 80, ....)

int led_stat

判斷第 N 個燈狀態 --》 led_stat & LED_N

總結

以上是生活随笔為你收集整理的9位运算的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。