首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> Java 程式設計 >> Java 相關知識

【Java Saves!】Session 6:十六指星人——十六進位的優雅

     編輯:Java 相關知識

程式設計師的「十六根手指」

上一集說計算機用二進位(0/1),但對人類來說太冗長:123456 變成 11110001001000000。程式設計師進化出「十六根手指」——十六進位制:0–9 加上 A–F 代表 10–15,滿十六進一。

十六進位轉十進位:以 1E240 為例

1E240₁₆ = 1×16⁴ + 14×16³ + 2×16² + 4×16¹ + 0×16⁰
= 65536 + 57344 + 512 + 64 = 123456

註:E = 14。結果與二進位 11110001001000000 完全一致。

十六進位與二進位的完美對應

十六進位每一位對應二進位 4 位,轉換極其方便:

123456₁₀ = 1E240₁₆ = 0001 1110 0010 0100 0000₂

將二進位每 4 位分組(高位補 0 湊齊 4 位),直接對應十六進位:

二進位分組00011110001001000000
十六進位1E240

Windows 計算機驗證

計算機「程式設計師」模式顯示:

  • BIN = Binary(二進位)
  • HEX = Hexadecimal(十六進位)
  • DEC = Decimal(十進位)

Java 代碼中的十六進位字面值

Java 要求十六進位字面值以 0x 或 0X 開頭,區別於十進位:

int decimal = 123456;
int hex = 0x1E240; // 同一數值
System.out.println(decimal == hex); // true

常見用途:顏色值 0xFF0000(紅)、位元遮罩 0x0F、Unicode 碼點 0x1F600 (😀)。

三大進位制總結

特性二進位 (BIN)十六進位 (HEX)十進位 (DEC)
基數21610
符號0, 10–9, A–F0–9
用途硬體底層、位運算程式開發、記憶體位址、顏色、位元遮罩人類日常、業務邏輯
轉換基礎每 1 位 = 4 位二進位需除基取餘

為什麼程式設計師愛十六進位?

  1. 簡潔:32 位整數僅需 8 個十六進位字元(vs 32 個二進位)
  2. 直觀位模式:0xFF00FF00 一眼看出高低 16 位交替
  3. 與二進位無縫轉換:無需計算,直接查表
  4. 標準化:記憶體位址、錯誤碼、網路協定、檔案格式多用十六進位
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved