位運算

我們復習一下位運算,這里介紹一下(& ,|, ?^)的用途。

按位與 ------------&

規則: ? 0&0=0 ? ?0&1=0 ? 1&0 =0 ?1&1=1 ?( 兩位為1,才是1)
作用: ?清零與保位。通常用來將特定的位清零,其他位保持不變。
比如:
00101011 ,我們希望將此數的7,8位請零,其它位保持不變,則只需與如下數字做&運算。
0 0 1 ?0 ?1 ?0 ?1 ?1
? ?& ? ?1 ?1 1 ?1 ?1 1 ?0 ?0 ? ??
0 ?0 ? 1 ?0 1 0 ?0 ?0
技巧: ? 清零,清哪位,就令哪位為0;保位,保哪位,就令哪位為1

按位或 ------------|

規則: ? 0|0=0 ? ?0|1=1 ? 1|0 =1 ?1|1=1 ? ? ?(有一位為1,則為1)
作用: 設位。通常用來將特定的位設為1,其它保持不變。
比如:
將00110000后四位設為1.
則 ? 0 0 1 1 0 0 0 0?
? | ?0 0 0 0 1 1 1 1
0 ?0 ?1 1 1 1 1 1
技巧: 想設哪位為1,則設為1,其它為0

按位異或 -----------^

規則: ? 0^0=0 ? ?0^1=1 ? 1^0 =1?1^1=0 ? ?(相同為0,不同則為1)
作用:?
1. 使特定位翻轉
假設有01111010,想使其低四位翻轉,即1變為0,0變為1.可以使其與00001111進行^運算,即:
0 1 1 1 1 0 1 0
? ?^ ? 0 ?0 ?0 0 1 1 1 1
0 1 ?1 1 0 1 0 1
要使哪幾位翻轉,就將與其進行^運算的該幾位置為1即可。

2.與0異或,保持原值
例如: 012^00=012 ? ?
0 0 0 0 1 0 1 0
? ? ^ ? ?0 0 0 0 0 0 0 0
0 0 0 0 1 0 1 0
3. 與自身異或,設為0
例如:012^012=00
0 0 0 0 1 0 1 0
? ?^ ? ? 0 ?0 0 0 1 0 1 0
0 ?0 0 0 0 0 0 0
4.交換兩個值,不用臨時變量

a=a^b;
b=b^a;
a=a^b;

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/259121.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/259121.shtml
英文地址,請注明出處:http://en.pswp.cn/news/259121.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

詳解JMeter函數和變量

詳解JMeter函數和變量(1) JMeter函數可以被認為是某種特殊的變量,它們可以被采樣器或者其他測試元件所引用。函數調用的語法如下: ${__functionName(var1,var2,var3)} 其中,__functionName匹配被調用的函數名稱。用圓括…

信號反射

突然想起來前幾天調試CAN通訊的時候出現的BUG,那就是傳說中的“信號反射”,也有稱“振鈴”的。錯誤剛出現的時候沒有意識過來,還說怎么出現重復出現這么多條消息呢?光在書本上看到過這個概念,沒有“實物”與之對應起來…

hdu 5199 map或二分或哈希

題目描述:給出n棵樹的高度,每棵樹上都站著一只鳥,槍手Jack站在最左邊那棵樹的左邊對鳥進行射擊,當Jack在高度為H的地方向右發射一顆子彈的時候,高度為H的樹上的鳥兒就會掉落(注:其他樹上的鳥兒不…

數字電路實驗怎么接線視頻講解_家庭影院中音箱、功放、投影機、4K播放機不知道怎么連接?手把手教你...

家庭影院中音箱、功放、投影機、4K播放機不知道怎么連接?手把手教你有不少用戶收到從家庭影院器材之后,表示完全不會連接。翻看說明書也覺得頭大,知識太多,然而卻很難找到要點。今天主要跟大家講講如何連接音箱、功放、投影機和影…

.NET開發過程中的全文索引使用技巧之Solr

前言:相信許多人都聽說過.net開發過程中基于Lucene.net實現的全文索引,而Solr是一個高性能,基于Lucene的全文搜索服務器。同時對其進行了擴展,提供了比Lucene更為豐富的查詢語言,同時實現了可配置、可擴展并對查詢性能…

關于字符的讀入與輸出

在筆試中,經常見到字符的讀入與輸出的題目。逆序打印輸入時最常見、最基本的考題,復雜點的就是統計單詞、逆序打印單詞之類的。難點是如何判斷輸入的結束,如果用getchar函數,其輸入結束符為EOF(其打印值為-1&#xff0…

修正discuz發帖首次換行無效的問題

找遍了百度和google都沒有解決方案,連discuz官方都沒有出來解決,至今其官網仍有這個問題。 那就自己動手解決吧,順手打個補丁。雖然走了小路,但是能解決問題。 解決方案:修改static/js/bbcode.js 找到 html2bbcode()方…

auto.js停止所有線程_Java線程與并發編程實踐:深入理解volatile和final變量

同步有兩種屬性:互斥性和可見性。synchronized關鍵字與兩者都有關系。Java同時也提供了一種更弱的、僅僅包含可見性的同步形式,并且只以volatile關鍵字關聯。假設你自己設計了一個停止線程的機制(因為無法使用Thread不安全的stop()方法))。清單1中Thread…

項目實例改編:利用structs2的action 實時顯示圖片、pdf和其他內容的框架抽取。(轉)...

轉自:http://www.verydemo.com/demo_c167_i1382.html 針對:預覽文件(圖片,PDF)文件來源為action中的inputStream 重點: structs2的action的配置 action的寫法和結果類型 resulttype的寫法 網頁上實…

零碎的小知識點 ----------C# ToString()函數注意事項

C#中存在著大量的字符串操作,有專門的string類,各種各種的方法,其中使用最為頻繁的方法為ToString(),用起來很是順手,但是這里存在一個很大的問題,空字符是不能用ToString方法轉換的,不然就會報…

ios越獄系統UIGestureRecognizer事件截獲問題

越獄的機器給self.view設置一個UITapGestureRecognizer,這貨就把所有的點擊事件全截獲了,比如某個按鈕,點擊就沒效果.普通系統是沒有問題的. 因此要給UIGestureRecognizer設置delegate并且在其中對touch的view進行分別處理 比如要讓按鈕功能正常使用: 1 #pragma mark - UIGestu…

開始Go開發之旅-Golang架構師之路系列實戰

2019獨角獸企業重金招聘Python工程師標準>>> 作者: gomaster.me(馮琪超) 系列:Golang架構師之路 巧婦難做無米之炊,golang sdk就是gopher的大米 下載golang 點擊 官網下載golang sdk 根據不同系統,官網下載鏈接會選擇相應的平臺進行鏈接跳轉&…

delete與delete[]的區別

一直對C中的delete和delete[]的區別不甚了解,今天遇到了,上網查了一下,得出了結論。做個備份,以免丟失。 C告訴我們在回收用 new 分配的單個對象的內存空間的時候用 delete,回收用 new[] 分配的一組對象的內存空間的時…

event對應的各種坐標

IE8不支持的PageXY 相對于整個頁面鼠標的位置 包括溢出的部分 event.pageX; event.pageY; 所有瀏覽器支持的: 相對于當前瀏覽器窗口可視區域的坐標event.clientX;event.clientY; 相對于當前屏幕(和瀏覽器窗口大小無關)的坐標event.screenX;…

安卓9.0官方系統升級包_華為、榮耀公布可升級安卓10.0機型,你的手機在名單之內嗎?...

在近兩個月以前,美方將華為關進了小黑屋,隨后谷歌也將華為旗下的機型移出了安卓10.0升級名單,這一波操作之后,引起了不小的“恐慌”,許多華為用戶也在擔心是否還能正常使用安卓系統服務,不過,讓…

2. Mysql數據庫的入門知識

2. Mysql數據庫的入門知識 (1)打開Windows系統提供的服務查看相應的服務。 (2)在Windows任務管理器的進程中查看 (3)使用命令行管理windows的Mysql數據庫服務。 Net start 服務名 Net stop 服務名 mysql -h…

十月讀書心得

1.sizeof與strlen的區別。 #include <iostream> using namespace std; void main() {cout << sizeof("hello") << endl;}答案&#xff1a; 6原因&#xff1a; “hello”{‘h’,e,l,l,o,\0};共六個字節。 那么sizeof與strlen有什么區別呢&#xff…

nginx php-fpm 輸出php錯誤日志(轉)

nginx是一個web服務器&#xff0c;因此nginx的access日志只有對訪問頁面的記錄&#xff0c;不會有php 的 error log信息。 nginx把對php的請求發給php-fpm fastcgi進程來處理&#xff0c;默認的php-fpm只會輸出php-fpm的錯誤信息&#xff0c;在php-fpm的errors log里也看不到ph…

protobuf的安裝和使用

以下全部基于win7系統。 protobuf是什么&#xff0c;有什么用網上說的已經很多了。這里就是說一下怎么使用。就當給自己做個筆記吧。 .proto文件的語法什么的也請網上查看&#xff0c;挺多的。 第一步&#xff1a; 下載protoc.exe 和 protobuf-java-2.4.1.jar。這里要注意版本區…

win7優化設置_win7藍牙怎么打開?

當電腦需要連接藍牙設備的時候&#xff0c;就需要打開藍牙設置才行。鑒于一些win7的用戶還不知道藍牙功能在哪&#xff0c;win7藍牙怎么打開&#xff0c;故系統圣地分享本篇教程。1、win7藍牙怎么打開?首先要你的電腦支持藍牙功能。如果你的電腦有藍牙功能的話那么在電腦的右下…