1. 程式人生 > >[Java] 位操作

[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>