程式設計師必備知識:常見進位制轉換
價值不是你擁有多少,而是你留下多少。 ——李開復 《世界因你不同》
二進位制是計算技術中廣泛採用的一種數制。二進位制數據是用0和1兩個數碼來表示的數。它的基數為2,進位規則是“逢二進一”,借位規則是“借一當二”,由18世紀德國數理哲學大師萊布尼茲發現。當前的計算機系統使用的基本上是二進位制系統,資料在計算機中主要是以補碼的形式儲存的。計算機中的二進位制則是一個非常微小的開關,用“開”來表示1,“關”來表示0。
解釋:二進位制數 “1011” 轉化為十進位制數 “11”
常見2的指數值表 | |||
1 | |||
2 | |||
4 | |||
8 | |||
16 | |||
32 | |||
62 | |||
128 | |||
256 | |||
512 | |||
1024 |
十六進位制(簡寫為hex或下標16)在數學中是一種逢16進1的進位制。一般用數字0到9和字母A到F(或a~f)表示,其中:A~F表示10~15,這些稱作十六進位制數字。
C語言、C++、Shell、Python、Java語言及其他相近的語言使用字首“0x”,例如“0x5A3”。開頭的“0”令解析器更易辨認數,而“x”則代表十六進位制(就如“O”代表八進位制)。在“0x”中的“x”可以大寫或小寫。對於字元量C語言中則以x+兩位十六進位制數的方式表示,如xFF。
在VB、MSX BASIC、Quick BASIC和FreeBASIC中,使用字首“&H”來表示。
在HTML,十六進位制字元可以用“x”,例如֣和֣效果應該無異。
Intel的組合語言中用字尾“h”來標識16進位的數(若該數以字母起首,在前面會增加一個“0”)例如“0A3Ch”、“5A3h”
其他彙編器(AT&T、Motorola、6502),Pascal,Delphi和某些BASIC的版本使用字首“$”,例如“$5A3”
亦有用X'5A3'這類表示方式的,如於PL/I,COBOL及JCL中。這亦是IBM裝載早期作業系統的大型機與小型機上最常用的資料格式。
十進位制與十六進位制對應表 | ||||||||||||||||
十進位制 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 |
十六進位制 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | A | B | C | D | E | F |