位運算(、|、^、~、>>、<<)

一、概念

在C#中,位運算是對整數的二進制表示進行操作的運算。這些運算包括按位與(AND)、按位或(OR)、按位異或(XOR)、按位取反(NOT)、左移(Left Shift)和右移(Right Shift)等。

下面是一些位運算的示例和說明:

符號描述運算規則
&兩個位都為1時,結果才為1
|兩個位都為0時,結果才為0
^異或兩個位相同為0,相異為1
~取反0變1,1變0
<<左移各二進位全部左移若干位,高位丟棄,低位補0
>>右移各二進位全部右移若干位,對無符號數,高位補0,有符號數,各編譯器處理方法不一樣,有的補符號位(算術右移),有的補0(邏輯右移)
1. 按位與(AND)

& 兩個位都為1時,結果才為1。

uint a = 60; // 二進制: 0011 1100  
uint b = 13; // 二進制: 0000 1101  
uint c = a & b; // 結果: 12, 二進制: 0000 1100
2. 按位或(OR)

| 兩個位都為0時,結果才為0。

uint a = 60; // 二進制: 0011 1100  
uint b = 13; // 二進制: 0000 1101  
uint c = a | b; // 結果: 61, 二進制: 0011 1101
3. 按位異或(XOR)

^ 相同為0,相異為1。

uint a = 60; // 二進制: 0011 1100  
uint b = 13; // 二進制: 0000 1101  
uint c = a ^ b; // 結果: 49, 二進制: 0011 0001
4. 按位取反(NOT)

~ 0變1,1變0。

uint a = 60; // 二進制: 0011 1100  
uint b = ~a; // 結果的二進制依賴于具體的位數和類型,對于uint通常是取反后加1(因為uint是無符號的)
5. 左移(Left Shift)

<< 各二進位全部左移若干位,高位(左側)丟棄,低位(右側)補0。

uint a = 60; // 二進制: 0011 1100  
uint b = a << 2; // 結果: 240, 二進制: 1111 0000
6. 右移(Right Shift)

>> 各二進位全部右移若干位,對無符號數,高位補0,有符號數,各編譯器處理方法不一樣,有的補符號位(算術右移),有的補0(邏輯右移)。

uint a = 240; // 二進制: 1111 0000  
uint b = a >> 2; // 結果: 60, 二進制: 0011 1100

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

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

相關文章

【區間動態規劃】1771. 由子序列構造的最長回文串的長度

本文涉及知識點 動態規劃匯總 LeetCode1771. 由子序列構造的最長回文串的長度 給你兩個字符串 word1 和 word2 &#xff0c;請你按下述方法構造一個字符串&#xff1a; 從 word1 中選出某個 非空 子序列 subsequence1 。 從 word2 中選出某個 非空 子序列 subsequence2 。 連…

企業AI落地的大法器-用數據清洗手段提升數據質量,找回遺珠之光

開篇 書接上文&#xff0c;在上文《談LORA微調與數據質量處理之爭》中我們詳細敘述了&#xff1a;LORA微調手段和數據清洗之分&#xff0c;以及如何平衡和組合使用LORA微調與數據清洗的手法。 文末我們提到了“下一篇我們講著重講述&#xff1a;在打造企業數據清洗工具、平臺…

003 SpringBoot操作ElasticSearch7.x

文章目錄 5.SpringBoot集成ElasticSearch7.x1.添加依賴2.yml配置3.創建文檔對象4.繼承ElasticsearchRepository5.注入ElasticsearchRestTemplate 6.SpringBoot操作ElasticSearch1.ElasticsearchRestTemplate索引操作2.ElasticsearchRepository文檔操作3.ElasticsearchRestTempl…

git tag 打標簽指南

參考 Pro Git 打標簽 查看標簽 git tag git tag -l 創建標簽 git tag tag002 創建了名稱是 tag002 的標簽&#xff0c;打在最新提交的 commit 上。只是打在本地&#xff0c;沒有推送到遠程。 如果要給以前的 commitId 打標簽&#xff0c;就用 git tag tag001 159e40 給 159e4…

java基于ssm+jsp 彈幕視頻網站

1前臺首頁功能模塊 彈幕視頻網站&#xff0c;在彈幕視頻網站可以查看首頁、視頻信息、商品信息、論壇信息、我的、跳轉到后臺、購物車、客服等內容&#xff0c;如圖1所示。 圖1前臺首頁界面圖 登錄&#xff0c;通過登錄填寫賬號、密碼等信息進行登錄操作&#xff0c;如圖2所示…

GPT-5即將登場:期待AI新時代的技術突破與人機高效協作

隨著科技的飛速發展&#xff0c;我們即將迎來一個人工智能領域的重要里程碑——GPT-5的發布。這一技術革新無疑是一個激動人心的時刻&#xff0c;它預示著AI技術將邁向一個全新的高度。GPT-5作為人工智能領域的一大突破&#xff0c;有望為我們帶來前所未有的應用場景與深遠影響…

顯卡GTX與RTX有什么區別?哪一個更適合玩游戲?

游戲發燒友們可能對游戲顯卡并不陌生&#xff0c;它直接關系到游戲畫面的流暢度、細膩程度和真實感。在眾多顯卡品牌中&#xff0c;英偉達的GTX和RTX系列顯卡因其出色的性能而備受關注。 一、GTX與RTX的區別 架構差異 GTX系列顯卡采用的是Pascal架構&#xff0c;這是英偉達在…

探索MySQL核心技術:理解索引和主鍵的關系

在數據密集型應用中&#xff0c;數據庫的性能往往是決定一個應用成敗的重要因素之一。其中&#xff0c;MySQL作為一種開源關系型數據庫管理系統&#xff0c;以其卓越的性能和豐富的功能被廣泛應用。而在MySQL數據庫優化的眾多技巧中&#xff0c;索引和主鍵扮演著極其重要的角色…

安霸CVFlow推理開發筆記

一、安霸環境搭建&#xff1a; 1.遠程172.20.62.13 2. 打開Virtualbox&#xff0c;所在目錄&#xff1a;E:\Program Files\Oracle\VirtualBox 3. 配置好ubuntu18.04環境&#xff0c;Ubuntu密碼&#xff1a;amba 4. 安裝toolchain&#xff0c;解壓Ambarella_Toolchain_CNNGe…

鴻蒙開發HarmonyOS NEXT (二) 熟悉ArkUI

一、構造函數 構造一個商品類Item&#xff0c;然后利用foreach函數循環渲染 class Item {name: stringimage: ResourceStrprice: numberdiscount: numberconstructor(name: string, image: ResourceStr, price: number, discount: number 0) {this.name name;this.image ima…

JAVA進階學習09

文章目錄 一、雙列集合Map1.1 雙列集合介紹1.2 雙列集合Map常見API1.3 Map集合遍歷方式1.3.1 通過集合的全部鍵來遍歷集合1.3.2 Map集合遍歷方式21.3.3 Map集合遍歷方式3 二、Map集合的實現類2.1 HashMap類2.2 LinkedHashMap2.3 TreeMap 三、可變參數四、Collections類五、集合…

Vue 2.0 與 3.0區別

Vue.js是一種流行的前端JavaScript框架&#xff0c;用于構建用戶界面和單頁面應用程序。隨著時間的推移&#xff0c;Vue.js已經從Vue2發展到了Vue3&#xff0c;這兩個版本在**生命周期、模板組件以及性能**等方面有顯著差異。具體分析如下&#xff1a; 1. **生命周期** - **Vue…

恭喜朱雀橋的越南薇妮她牌NFC山竹汁飲料,成為霸王茶姬奶茶主材

朱雀橋NFC山竹汁飲料&#xff1a;榮登霸王茶姬奶茶主材&#xff0c;非遺傳承的天然之選 近日&#xff0c;據小編了解到&#xff1a;霸王茶姬欣喜地宣布&#xff0c;成功與朱雀橋達成合作越南薇妮她VINUT牌NFC山竹汁飲料。這款商超產品憑借其卓越的品質與獨特的口感&#xff0c…

PostgreSQL安裝教程及文件介紹

Ubuntu 安裝和配置 PostgreSQL 以 Ubuntu Server 20.04&#xff0c;PostgreSQL 12 版本為例。 1. 安裝 使用如下命令&#xff0c;安裝指定版本的 PostgreSQL sudo apt install postgresql-12在 Ubuntu 20.04 中安裝 PostgreSQL 登錄您的 Ubuntu 系統并使用以下 apt 命令更新…

Java web應用性能分析之【prometheus監控指標體系】

Java web應用性能分析之【系統監控工具prometheus】_javaweb服務器性能監控工具-CSDN博客 Java web應用性能分析之【prometheusGrafana監控springboot服務和服務器監控】_grafana 導入 prometheus-CSDN博客 因為篇幅原因&#xff0c;前面沒有詳細說明Prometheus的監控指標&…

將手機上的已安裝應用拷貝出到電腦中

方法一&#xff1a;通過應用管理器 下載并安裝應用管理器&#xff1a;可以使用應用管理器如“ES文件瀏覽器”或“APK Extractor”。 提取APK文件&#xff1a; 打開應用管理器。 找到已安裝的應用程序列表。 選擇你想要提取的應用程序&#xff0c;然后選擇“提取”或“備份”選…

數據結構 —— 哈夫曼樹

數據結構 —— 哈夫曼樹 哈夫曼樹定義構造算法特性應用 哈夫曼編碼核心概念工作原理特點 我們今天來看哈夫曼樹&#xff1a; 哈夫曼樹 哈夫曼樹&#xff08;Huffman Tree&#xff09;&#xff0c;是一種特殊的二叉樹&#xff0c;由D.A. Huffman在1952年提出&#xff0c;主要用…

[面試題]計算機網絡

[面試題]Java【基礎】[面試題]Java【虛擬機】[面試題]Java【并發】[面試題]Java【集合】[面試題]MySQL[面試題]Maven[面試題]Spring Boot[面試題]Spring Cloud[面試題]Spring MVC[面試題]Spring[面試題]MyBatis[面試題]Nginx[面試題]緩存[面試題]Redis[面試題]消息隊列[面試題]…

ES報錯:解決too_many_clauses: maxClauseCount is set to 1024 報錯問題

解決too_many_clauses: maxClauseCount is set to 1024 報錯問題 問題場景報錯信息問題分析解決1. 優化查詢2. 增加maxClauseCount3. 改用其他查詢類型修改后的查詢示例 問題場景 查詢語句&#xff1a;查詢clcNo分類號包含分類O的所有文檔 {"match_phrase_prefix":…

社會與網絡的討論#1

“拒絕心靈雞湯” 都說人人平等&#xff0c;那請問一個有錢人看到一個掃大街的&#xff0c;能有幾個保證不產生厭惡感的&#xff1f; 你能確保&#xff0c;你的工資會比有關系的人的工資高嗎&#xff1f; 你進入公司&#xff0c;有有關系的人進入的方便嗎&#xff1f; 在學…