十六進制(16進制)

十六進制

16進制一般指本詞條

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

基本介紹

  • 中文名:十六進制
  • 外文名:Hexadecimal
  • 定義:計算機中數據的一種表示方法
  • 組成:0-9,A-F
簡介,表示方式,表示方法表,十六進制的轉換,數學的計算方法,編程中的函式,

簡介

上文對十六進制進行了簡要概述,下面舉一個例子:
例如十進制數57,在二進制寫作111001,在16進制寫作39。在歷史上,中國曾經在重量單位上使用過16進制,比如,規定16為一。如今的16進制則普遍套用在計算機領域,這是因為將4個位元(Bit)化成單獨的16進制數字不太困難。1位元組可以表示成2個連續的16進制數字。可是,這種混合表示法容易令人混淆,因此需要一些字首、字尾或下標來顯示。

表示方式

不同電腦系統程式語言對於16進制數值有不同的表示方式:
  • AdaVHDL用所基於的“數字引證”把16進制數包起來,例如“16#5A3#”。(註:Ada對整數和實數都可以使用從1到16中任何一個做為其基數。)而對於位元組向量,VHDL使用字首 x 表示,例如,x"10",對應的二進制碼為:"00010000"。
  • C語言C++ShellPythonJava語言及其他相近的語言使用字首“0x”,例如“0x5A3”。開頭的“0”令解析器更易辨認數,而“x”則代表十六進制(就如“O”代表八進制)。在“0x”中的“x”可以大寫小寫。對於字元量C語言中則以x+兩位十六進制數的方式表示,如xFF。
  • 十六進制轉義序列:如 \x1abf4 ,可以使用任意多的十六進制數字,直至不是十六進制數字為止;
  • 16位的通用字元名(universe-character name):\u後面必須跟4個十六進制數字(不足四位前面用零補齊),表示Unicode中在0至0xFFFF之內的碼位(但不能表示0xD800到0xDFFF之內的碼點,Unicode標準規定這個範圍內的碼位保留,不表示字元);
  • 32位的通用字元名:\U後面必須跟8個十六進制數字(不足八位前面用零補齊),表示Unicode中所有可能的碼位(除0xD800到0xDFFF之外)。
  • C++11引進了十六進制浮點型字面常量。例如:0x1.2p10表示 (1+2/16)×2=115210。實際上,Visual C++一直以來使用的C/C++語言標準庫函式printf,%a作為類型說明符來格式化輸出浮點型值即為上述格式。例如:printf("%a",1152.0);
  • C/C++在表示字元型字面常量時,可以用:
  • VB、MSX BASIC、Quick BASICFreeBASIC中,使用字首“&H”來表示。
  • HTML,十六進制字元可以用“x”,例如֣和֣效果應該無異。
  • Intel的彙編語言中用字尾“h”來標識16進位的數(若該數以字母起首,在前面會增加一個“0”)例如“0A3Ch”、“5A3h”
  • 其他彙編器AT&TMotorola、6502),PascalDelphi和某些BASIC的版本使用字首“$”,例如“$5A3”
  • 亦有用X'5A3'這類表示方式的,如於PL/ICOBOLJCL中。這亦是IBM裝載早期作業系統的大型機小型機上最常用的數據格式。

表示方法表

    環境格式備註
    URL
    %hex
    XML,XHTML
    &#xhex
    HTML,CSS
    #hex
    6位,用於表示顏色
    Unicode
    U+hex
    6位,表示字元編碼
    MIME
    =hex
    Modula-2
    #hex
    Smalltalk,ALGOL 68
    16rhex
    Common Lisp
    #xhex或#16rhex
    IPv6
    8個hex用:分隔

      十六進制的轉換

        數學的計算方法

          編程中的函式

          • 十六進制轉換為十進制:十進制(Long型)=CLng("&H" & 十六進制數(String型))
          • 十進制轉換為十六進制:十六進制數(String型)=Hex$(十進制)
          Javascript 能以 toString() 函式來將十進制數字轉為其他任意進制格式(String類型)
          調用Python內置int()函式把該字串轉為數字。

          相關詞條

          熱門詞條

          聯絡我們