【Java學習筆記】位運算

位運算


一、原碼,反碼,補碼


二、位運算

1. 位運算符

2. 運算規則


三、運算方法代碼示例

說明:由于數據類型是int類型,所有采用四個字節大小

// 位運算
public class BitOperator {// 編寫一個main方法public static void main(String[] args) {// 推導過程// 1. 先得到 2的補碼 => 2的原碼 00000000 00000000 00000000 00000010//    2的補碼 00000000 00000000 00000000 00000010// 2. 3的補碼 3的原碼 00000000 00000000 00000000 00000011//    3的補碼 00000000 00000000 00000000 00000011// 3. 按位&//    00000000 00000000 00000000 00000010//    00000000 00000000 00000000 00000011//    00000000 00000000 00000000 00000010 & 運算后的補碼//    運算后的原碼 也是 00000000 00000000 00000000 00000010//    結果就是 2System.out.println(2 & 3); // 2// 推導// 1. 先得到 -2的原碼 10000000 00000000 00000000 00000010// 2. -2的 反碼 11111111 11111111 11111111 11111101// 3. -2的 補碼 11111111 11111111 11111111 11111110// 4. ~-2操作 00000000 00000000 00000000 00000001 運算后的補碼// 5. 運算后的原碼 就是 00000000 00000000 00000000 00000001 => 1System.out.println(~-2); // 1// 推導// 1. 得到2的補碼 00000000 00000000 00000000 00000010// 2. ~2操作 11111111 11111111 11111111 11111101 運算后的補碼// 3. 運算后的反碼 11111111 11111111 11111111 11111100// 4. 運算后的原碼 10000000 00000000 00000000 00000011 => -3System.out.println(~2); // -3System.out.println(1 >> 2); // 0System.out.println(1 << 2); // 4System.out.println(4 << 3); // 4 * 2 * 2 * 2 = 32System.out.println(15 >> 2); // 15 / 2 / 2 = 3System.out.println(-10.4 % 3); // -1.4 近似值int i = 66;System.out.println(++i + i); // 134}
}

小結

一、對于 &|^~ 的運算

二、對于 >><< 的運算

  • 按照速方法速算結果即可

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

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

相關文章

HttpSessionBindingListener 的用法筆記250417

HttpSessionBindingListener 的用法筆記250417 HttpSessionBindingListener 是 Java Servlet 規范中 唯一 由 被存儲對象自身實現 的會話監聽接口&#xff0c; 1. 核心功能 HttpSessionBindingListener 是一個由 會話屬性對象自身實現 的接口&#xff0c;用于監聽該對象被綁定…

【HDFS入門】HDFS高可用性與容錯機制深度解析

目錄 引言 1 HDFS高可用架構實現 1.1 基于QJM的NameNode HA架構 1.2 QJM vs NFS實現對比 2 故障切換流程與ZooKeeper作用 2.1 自動故障轉移流程 2.2 狀態轉換機制 3 數據恢復與副本管理 3.1 DataNode故障處理流程 4 快照與數據保護機制 4.1 HDFS快照架構 4.2 快照使…

04-libVLC的視頻播放器:獲取媒體信息

libvlc_media_t* libvlc_media_player_get_media(libvlc_media_player_t* p_mi); 功能說明 核心作用:獲取與媒體播放器關聯的當前媒體對象返回值:成功:返回libvlc_media_t*指針失敗/無關聯媒體:返回NULL內存管理:返回的媒體對象引用計數會增加,需要使用libvlc_media_rele…

使用datax通過HbaseShell封裝writer和reader同步hbase數據到hbase_踩坑_細節總結---大數據之DataX工作筆記008

最近在做大數據相關功能,有個需求,使用datax同步hbase到hbase中,其中還是有很多細節值得記錄: 首先來看一下datax的源碼中,如果你使用phoenix創建的表,那么 你就需要使用對應的hbase帶有sql字樣的,reader和writer. 然后如果你使用datax-web來進行測試的,那么,他默認使用的是h…

如何通過window端來ssh連接本地虛擬機的ubuntu

首先在 Ubuntu 虛擬機上安裝和配置 SSH 服務&#xff1a; # 安裝 SSH 服務器 sudo apt update sudo apt install openssh-server# 檢查 SSH 服務狀態 sudo systemctl status ssh# 如果沒有啟動&#xff0c;則啟動 SSH 服務 sudo systemctl start ssh# 設置開機自啟動 sudo sys…

Anolis OS 8.10 發布:軟硬協同優化,滿足多行業實際應用需求

引言 龍蜥操作系統 Anolis OS 8 是 OpenAnolis 龍蜥社區發行的開源 Linux 發行版&#xff0c;支持多計算架構&#xff0c;提供穩定、高性能、安全、可靠的操作系統支持。Anolis OS 8.10 是 Anolis OS 8 發布的第六個小版本&#xff0c;通過軟硬協同&#xff0c;不斷完善生態&a…

Java八種常見的設計模式

一、單例模式 單例模式是&#xff08;Singleton Pattern&#xff09;Java中最常用的設計模式之一&#xff0c;它保證一個類僅有一個實例&#xff0c;并提供一個全局訪問點。 實現單例模式的核心是將類的構造方法私有化&#xff0c;以防止外部直接通過構造函數創建實例。同時&am…

4.17---實現商鋪和緩存與數據庫雙寫一致以及宕機處理

實現商鋪和緩存與數據庫雙寫一致&#xff08;以及強雙寫一致策略&#xff09; redis點評項目采用的是延時雙刪策略 雙刪&#xff1a; 我們更新完數據庫之后刪除緩存&#xff0c;這樣即使有線程并發進來查詢&#xff0c;會發現緩存中沒有數據&#xff0c;從而會去mysql中查找…

滑動窗口209. 長度最小的子數組

1.題目 給定一個含有 n 個正整數的數組和一個正整數 target 。 找出該數組中滿足其總和大于等于 target 的長度最小的 子數組 [numsl, numsl1, ..., numsr-1, numsr] &#xff0c;并返回其長度。如果不存在符合條件的子數組&#xff0c;返回 0 。 示例 1&#xff1a; 輸入&…

osu ai 論文筆記 DQN

e https://theses.liacs.nl/pdf/2019-2020-SteeJvander.pdf Creating an AI for the Rhytm Game osu! 20年的論文 用監督學習訓練移動模型100首歌能達到95準確率 點擊模型用DQN兩千首歌65準確率 V抖用的居然不是強化學習&#xff1f; 5,6星打96準確度還是有的東西的 這是5.…

如何通過工具實現流程自動化

通過自動化工具&#xff0c;企業可以顯著提高工作效率、降低人為錯誤、節省時間和成本。現代企業的運營中&#xff0c;流程管理是確保工作順暢的關鍵&#xff0c;而人工處理繁瑣的流程不僅容易出錯&#xff0c;還會消耗大量的時間和人力資源。通過使用適合的自動化工具&#xf…

mongodb 4.0+多文檔事務的實現原理

1. 副本集事務實現&#xff08;4.0&#xff09;? ?非嚴格依賴二階段提交? MongoDB 4.0 在副本集環境中通過 ?全局邏輯時鐘&#xff08;Logical Clock&#xff09;? 和 ?快照隔離&#xff08;Snapshot Isolation&#xff09;? 實現多文檔事務&#xff0c;事務提交時通過…

《理解 Java 泛型中的通配符:extends 與 super 的使用場景》

大家好呀&#xff01;&#x1f44b; 今天我們要聊一個讓很多Java初學者頭疼的話題——泛型通配符。別擔心&#xff0c;我會用最通俗易懂的方式&#xff0c;帶你徹底搞懂這個看似復雜的概念。準備好了嗎&#xff1f;Let’s go! &#x1f680; 一、為什么我們需要泛型通配符&…

速盾:高防CDN訪問多了會影響源站嗎?

在當今數字化時代&#xff0c;內容分發網絡&#xff08;CDN&#xff09;已經成為保障網站性能和用戶體驗的重要工具。特別是高防CDN&#xff0c;它不僅能夠加速內容傳輸&#xff0c;還能有效抵御各種類型的網絡攻擊&#xff0c;確保業務的連續性和穩定性。然而&#xff0c;一些…

Unity URP Moblie AR示例工程,真機打包出來,沒陰影

效果&#xff1a; unity ar示例演示 現象&#xff1a; 真機打包測試私活沒有陰影 Unity版本&#xff1a;2022.3.4f1c1 分析原因&#xff1a; Prefab &#xff1a;ARFeatheredPlane中也有材質&#xff0c;一個用于環境遮擋&#xff0c;一個用于陰影接受。 按理說有啊。 urp …

win10下github libiec61850庫編譯調試sntp_example

libiec61850 https://github.com/mz-automation/libiec61850 v1.6 簡介 libiec61850 是一個開源&#xff08;GPLv3&#xff09;的 IEC 61850 客戶端和服務器庫實現&#xff0c;支持 MMS、GOOSE 和 SV 協議。它使用 C 語言&#xff08;根據 C99 標準&#xff09;實現&#xf…

Microsoft SQL Server Management 一鍵刪除數據庫所有外鍵

DECLARE ESQL VARCHAR(1000); DECLARE FCursor CURSOR --定義游標 FOR (SELECT ALTER TABLE O.name DROP CONSTRAINT F.name; AS CommandSQL from SYS.FOREIGN_KEYS F JOIN SYS.ALL_OBJECTS O ON F.PARENT_OBJECT_ID O.OBJECT_ID WHERE O.TYPE U AND F.TYPE …

新型多機器人協作運輸系統,輕松應對復雜路面

受到魚類、鳥類和螞蟻等微小生物體協作操縱的啟發&#xff0c;研究人員開發了多機器人協作運輸系統&#xff08;Multirobot Cooperative Transportation Systems&#xff0c;MRCTS&#xff09;運輸單個機器人無法處理的重型超大物體&#xff0c;可用于搜救行動、災難響應、軍事…

Framework Binder架構分解

整個 Binder 架構所涉及的總共有以下 5 個目錄&#xff1a; 1. /framework/base/core/java/(Java) 2. /framework/base/core/jni/ (JNI) 3&#xff0c;/framework/native/libs/binder (Native) 4&#xff0c;/framework/native/cmds/servicemanager/ (Native) 5&#xff0c…

騰訊云對象存儲以及項目業務頭像上傳

騰訊云上傳步驟&#xff1a; service-vod模塊化中 ①、參考文檔&#xff0c;引入依賴 ②、配置文件application.properties ③、創建工具類 初始化bean的時候讀取配置文件 Component public class ConstantPropertiesUtil implements InitializingBean{Value("${t…