1. 程式人生 > >程式設計師必備知識:常見進位制轉換

程式設計師必備知識:常見進位制轉換

價值不是你擁有多少,而是你留下多少。                                                                               ——李開復 《世界因你不同》


二進位制是計算技術中廣泛採用的一種數制二進位制數據是用0和1兩個數碼來表示的數。它的基數為2,進位規則是“逢二進一”,借位規則是“借一當二”,由18世紀德國數理哲學大師萊布尼茲發現。當前的計算機系統使用的基本上是二進位制系統,資料在計算機中主要是以補碼的形式儲存的。計算機中的二進位制則是一個非常微小的開關,用“開”來表示1,“關”來表示0。

                                            (1011)_{2} = 1 \times 2^{3}+0 \times 2^{2} + 1 \times 2^{1} + 1\times 2^{0} =(11)_{10}

 解釋:二進位制數 “1011” 轉化為十進位制數 “11”

常見2的指數值表
2^{0} 1
2^{1} 2
2^{2} 4
2^{3} 8
2^{4} 16
2^{5} 32
2^{6} 62
2^{7} 128
2^{8} 256
2^{9} 512
2^{10} 1024

十六進位制(簡寫為hex或下標16)在數學中是一種逢16進1的進位制。一般用數字0到9和字母A到F(或a~f)表示,其中:A~F表示10~15,這些稱作十六進位制數字

C語言、C++、ShellPythonJava語言及其他相近的語言使用字首“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&TMotorola、6502),PascalDelphi和某些BASIC的版本使用字首“$”,例如“$5A3”

亦有用X'5A3'這類表示方式的,如於PL/ICOBOLJCL中。這亦是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