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

【Java Saves!】Session 5:二指禪——二進位的奧秘

     編輯:Java 相關知識

人類的十進位 vs 計算機的二進位

人類擁有十根手指,自然發明了 0–9 十個數字,並創造「滿十進一」的十進位制。但計算機內部只有「兩根手指」——電路的通(1)與斷(0),因此採用二進位制:只有 0 和 1 兩個數字,滿二進一。

Windows 計算機實測:123456 的二進位長相

打開 Windows 計算機 → 切換至「程式設計師」模式 → 輸入 123456,下方即顯示:

BIN  0001 1110 0010 0100 0000

這一長串 0 和 1,就是 123456 的二進位表示法。重點在於:「表示法」不同,但數值大小完全相同。

數學驗證:十進位與二進位的等價性

十進位展開

123456 = 1×10⁵ + 2×10⁴ + 3×10³ + 4×10² + 5×10¹ + 6×10⁰

二進位展開

11110001001000000₂ = 1×2¹⁶ + 1×2¹⁵ + 1×2¹⁴ + 1×2¹³ + 0×2¹² + 0×2¹¹ + 0×2¹⁰ + 1×2⁹ + 0×2⁸ + 0×2⁷ + 1×2⁶ + 0×…
= 65536 + 32768 + 16384 + 8192 + 512 + 64 = 123456

兩種展開結果完全一致,證明只是「寫法」不同。

為什麼計算機偏愛二進位?

並非計算機「長了兩根手指」,而是 CPU 由數十億個電晶體(電子開關)組成,每個開關只有「開/關」兩種狀態,天然對應 0/1。若用十進位,需十種電壓狀態,電路設計極其複雜且抗干擾能力差。

文化彩蛋:八卦其實是古老的二進位系統

《易經》:「易有太極,是生兩儀,兩儀生四象,四象生八卦。」

  • 兩儀(陰/陽)= 1 位元(0/1)
  • 四象 = 2 位元(00, 01, 10, 11)
  • 八卦 = 3 位元(2³=8 種組合)
  • 六十四卦 = 6 位元(2⁶=64 種組合)

中國先民 6000 年前已在使用二進位邏輯!不過韓國國旗裡的太極八卦圖,讓人忍不住調侃:八卦屬於中國,但歸根結底屬於韓國(大韓民國),而韓國又屬於百事可樂……

小結

  • 計算機內部一切皆二進位
  • 同一數值可用二進位、十進位、十六進位等多種表示法
  • 理解進位制轉換,是程式設計師的基本內功
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved