[Java] 位操作
Java中的位操作及強制型別轉換
進製表示
Java中提供了表示8,16進位制的方法
int a=0b11;
int b=011;
int c=0x11;
char d=0x61;
System.out.println(a); //3
System.out.println(b); //9
System.out.println(c); //17
System.out.println(d); //a
位操作—int、byte型別的操作
byte a = (byte ) 1;
byte b = (byte) 1;
int c = 1;
int number1 = ((b << 8) & 0xffff) | a;
int number2 = (c << 8) & 0xff;
int number3 = (c << 2) & 0xff;
System.out.println(number1); //257
System.out.println(number2); //0
System.out .println(number3); //4
- 可以看出,byte與int都可以進行位操作,位操作的返回值是int(若不足32位前面補0)
- 通過number2與number3的運算結果可以看出,當兩個不同bit位的數進行位操作時,會取較短bit位作為輸出的bit位數。
byte與int的強制型別轉換
int轉byte,捨棄部分位
int value = 97 + 256 * 98;
byte b = (byte) value;
System.out.println((char) b); //a--97
byte c = (byte) (value >> 8);
System.out.println((char) c); //b--98
- 可以看出,int轉byte時會將低8位轉為byte
byte轉int,補充部分位
- 從中可以看出,在位擴充套件時,採用符號擴充套件,即擴充套件位於擴充套件前的符號位相同
相關推薦
Java位操作全面總結
在計算機中所有資料都是以二進位制的形式儲存的。位運算其實就是直接對在記憶體中的二進位制資料進行操作,因此處理資料的速度非常快。在實際程式設計中,如果能巧妙運用位操作,完全可以達到四兩撥千斤的效果,正因為位操作的這些優點,所以位操作在各大IT公司的筆試面試中一直是個熱點問題。 位操作基礎 基本的位操作符有與、
java位操作總結
int a = -2; //1111 1111 1111 1111 1111 1111 1111 1110 a = a<<3; System.out.println(a); //a=-16 1111 1111 1111 1111 1111 1111 1111 0000 in
[Java] 位操作
Java中的位操作及強制型別轉換 進製表示 Java中提供了表示8,16進位制的方法 int a=0b11; int b=011; int
可能是最通俗易懂的 Java 位操作運算講解
Java 位操作這是一項很基礎很基礎的知識內容,在所有 Android 和 Java 開發者的學習之路上,大家都接觸過,但是實際運用的場景卻很少見,很多人估計都忘記有這個知識點了。事實上,在 C/C++ 開發領域因為與硬體的聯絡更緊密,所以位操作運算應用的更普遍
java中的位操作
ble 其他 自動 byte 有符號 cnblogs 運算 編譯 位移操作 之前做項目的時候使用位操作不是很多,今天在刷leetcode上題目的時候用到了位操作,是leetcode中的第29題Divide Two Integers。 一、java的位操作: 位運算表達式由操
java Integer中的方法解析(位操作)
方法 描述 static int bitCount(int i) 返回i的二進位制中1的個數. static int compare(int x, int y)
JAVA中常用的二進位制位操作
一,計算某個正數的二進位制表示法中 1 的個數 1 //求解正數的二進位制表示法中的 1 的位數 2 private static int countBit(int num){ 3 int count = 0; 4 for
java 演算法題 - 面試中常見的位操作演算法題
前言 上一篇部落格 聊一聊 Android 中巧妙的位操作 中,我們講解了 java 中常用的位運算及常用應用場景,今天,讓我們一起來看一下,面試中常見的位操作的演算法題。 兩個只出現一次的數字 【題目描述】一個整型數組裡除了兩個數字之外,其他的數字都出現了兩次。請寫程
java常用位操作
public class TestIndex { /** * 陣列越界 * 這個方法是java原始碼中常用的一個數組越界的判斷檢測 * 順便複習一下位操作 */ public static int read(byte[] b, in
Java中的位操作: & 0xff
在Java語言中涉及到位元組byte陣列資料的一些操作時,經常看到 byte[i] & 0xff這樣的操作,這裡就記錄總結一下這裡包含的意義: 1、0xff是16進位制(十進位制是255),它
thinking in java test4.3練習(1)(2)(3)(4)(5)用三元操作符和按位操作來顯示二進位制
題目(1):寫一個程式,列印從1到100的值。 程式碼如下: public class Test4_3_1 { public static void main(String[] args){ for (int i = 0; i &
java中的資料儲存,位元組轉換,位操作
1. java中資料儲存是按照位元組儲存的,一個位元組是8位,也就是java中的byte資料型別,java中byte表示的是有符號數,第八位(從右至左)表示的是符號位,一個位元組表示的範圍是2^8,也就是256個數,表示的範圍是:-128到127,因為第八位始終是符號位,所
深入Java中的位操作
浪費了“黃金五年”的Java程式設計師,還有救嗎? >>>
VMware12提示 已將該虛擬機配置為使用 64 位客戶機操作系統。但是,無法執行 64 位操作。
http 操作 技術分享 步驟 啟動 如果 sdn 重啟 cpu VMware12提示 已將該虛擬機配置為使用 64 位客戶機操作系統。但是,無法執行 64 位操作。 此主機支持 Intel VT-x,但 Intel VT-x 處於禁用狀態 解決辦法: 下
java selenium操作safari
eclipse click vnr pre 證書 xp系統 瀏覽器 ace 結果 SafariDriver是一個Safari瀏覽器的擴展。和Firefox類似,在selenium-safari-driver-xxx.jar包中org.openqa.selenium.safa
Appium-Java滑動操作
結束 etc png pstore type 代碼 rem als setup Java滑動操作,通常可以直接使用API中AndroidDriver類中的swipe方法,直接進行調用 swipe(int startx, int starty, int endx, int
數據庫SQL Server2012筆記(七)——java 程序操作sql server
jdb 統一 col select 封裝 query size api color 1、crud(增刪改查)介紹:create/retrieve/update/delete 2、JDBC介紹 1)JDBC(java database connectivi
Java 位運算符 深入理解
clas 簡單的 二進制 ava white 最簡 bit ont 基於 在Java中存在著這樣一類操作符,是針對二進制進行操作的。它們各自是&、|、^、~、>>、<<、>>>幾個位操作符。不管是初始
Redis位操作
val not png log .cn 設置 http get blog setbit key offset value 設置offset對應二進制位上的值 getbit key offset 作用:獲取值的二進制表示,對應位上的值(從左,從0編號) bitop
Kafka學習筆記-Java簡單操作
interrupt new repl simple and cto seed blog false 轉自:http://www.cnblogs.com/edison2012/p/5759223.html Maven依賴包: <dependency>