(Translated by https://www.hiragana.jp/)
十六进制 - 维基百科,自由的百科全书 とべ转到内容ないよう

じゅうろく进制

本页使用了标题或全文手工转换
维基百科ひゃっか自由じゆうてき百科ひゃっかぜん
重定しげさだこうじゅうろくしん

じゅうろく进制英語えいごHexadecimal,简写为Hexあるしたしるべ16ざい数学すうがくちゅういち种逢16进1てき进位せい一般いっぱんよう数字すうじ0いた9和字わじははAいたF表示ひょうじ,其中:A~F相當そうとうじゅうしんてき10~15,这些しょうさくじゅうろく进制数字すうじ

れいじゅう进制すう57,ざい进制うつしさく111001,ざい16进制うつしさく39。

现在てき16进制则普遍ふへん应用ざい计算つくえ领域,这是いんためしょう4もと(Bit)化成かせい單獨たんどくてき16进制數字すうじふと困難こんなん1個いっこもとぐみ(Byte)表示ひょうじなり2連續れんぞくてき16进制數字すうじ,這種混合こんごう表示法ひょうじほう容易よういれいじん混淆こんこういん需要じゅよういち些字くびあるしたしるべらい顯示けんじ

0hex = 0dec = 0oct 0 0 0 0
1hex = 1dec = 1oct 0 0 0 1
2hex = 2dec = 2oct 0 0 1 0
3hex = 3dec = 3oct 0 0 1 1
4hex = 4dec = 4oct 0 1 0 0
5hex = 5dec = 5oct 0 1 0 1
6hex = 6dec = 6oct 0 1 1 0
7hex = 7dec = 7oct 0 1 1 1
8hex = 8dec = 10oct 1 0 0 0
9hex = 9dec = 11oct 1 0 0 1
Ahex = 10dec = 12oct 1 0 1 0
Bhex = 11dec = 13oct 1 0 1 1
Chex = 12dec = 14oct 1 1 0 0
Dhex = 13dec = 15oct 1 1 0 1
Ehex = 14dec = 16oct 1 1 1 0
Fhex = 15dec = 17oct 1 1 1 1

表示ひょうじ方式ほうしき

[编辑]

不同ふどう電腦でんのう系統けいとうへんほどげんたい於16しんすう值有不同ふどうてき表示ひょうじ方式ほうしき

  • AdaあずかVHDLようしょもと于的“数字すうじ引证”16进制すうつつみおこりらいれい如“16#5A3#”。(ちゅう:Ada对整すう实数使用しよう从1いた16ちゅうにんなんいち个做为其基数きすう。)而对于字节向りょうVHDL使用しようくび x 表示ひょうじれい如,x"10",对应てき进制码为:"00010000"。
  • Cげん、C++、ShellPythonJavaかたり言及げんきゅう其他相近すけちかてきげん使用しようくび「0x」,れい如「0x5A3」。开头てき「0」れい解析かいせきさらえきべん认数,而「x」のり代表だいひょうじゅうろく进制(就如「O」代表だいひょうはち进制)。ざい「0x」ちゅうてき「x」だいうつしあるしょううつし。对于りょうC语言ちゅう则以x+两位じゅうろく进制すうてき方式ほうしき表示ひょうじ,如xFF。
    • C++11引进りょうじゅうろく进制浮点がた字面じめんつねりょうれい如:0x1.2p10表示ひょうじ (1+2/16)×210=115210。实际じょうVisual C++いちちょく以来いらい使用しようてきC/C++语言标准库函すうprintf,%aさく为类がた说明らい格式かくしき输出浮点がた值即为上述じょうじゅつ格式かくしきれい如:printf("%a",1152.0);
    • C/C++ざい表示ひょうじがた字面じめんつねりょう时,以用:
      • じゅうろく进制转义序列じょれつ:如 \x1abf4 ,使用しよう任意にんいてきじゅうろく进制数字すうじちょくいたりじゅう六进制数字为止;
      • 16てき通用つうようめい(universe-character name):\uきさきめん必须跟4个じゅうろく进制数字すうじ不足ふそくよん前面ぜんめんようれい补齐),表示ひょうじUnicode中在なかざい0いたり0xFFFF内的ないてき码位(ただし不能ふのう表示ひょうじ0xD800いた0xDFFF内的ないてき码点,Unicode标准规定这个范围ないてき码位保留ほりゅう表示ひょうじ);
      • 32てき通用つうようめい:\Uきさきめん必须跟8个じゅうろく进制数字すうじ不足ふそくはち前面ぜんめんようれい补齐),表示ひょうじUnicodeちゅう所有しょゆう可能かのうてき码位(じょ0xD800いた0xDFFFそと)。
  • ざい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そう载早操作そうさけい统的大型おおがたつくえあずか小型こがたつくえうえさい常用じょうようてきすうすえ格式かくしき

よし表示ひょうじ方式ほうしきぼつゆう单一、やめ协定てき标准,所以ゆえん以上いじょうてき表示ひょうじ方式ほうしきみやこゆう使用しようゆう时甚いたりざいどう一份论文上会出现几个不同的表示方式。ただしよし为各方式ほうしき间没ゆうふとだいまとぶん歧,所以ゆえんそく使混合こんごう使用しよう也没ゆう构成问题。

其中さい常用じょうようあるつね见)表示ひょうじじゅう六进制数值的方式是将 '0x' ざい数字すうじまえあるざい数字すうじきさきじょう小字こあざ 16。れい如 0x2BAD 2BAD16 みやこただし表示ひょうじじゅう进制てき11181(ある1118110)。

ざいあみぺーじ設計せっけいうえじゅう六進位是很常用的。HTMLCSS使用しようじゅう六進位的表示法來表示網頁上的特定顏色。使用しよう # てき符號ふごうらい表示ひょうじ而非よう個別こべつてき符號ふごう表示ひょうじじゅうろくしん。24-bit 顏色かおいろ以用 #RRGGBB てき格式かくしきらい表示ひょうじ,RR 顏色かおいろちゅう紅色こうしょく成分せいぶんてきすう值,GG 顏色かおいろちゅう綠色みどりいろ成分せいぶんてきすう值,BB 顏色かおいろちゅう藍色あいいろ成分せいぶんてきすう值。舉個れい, 紅色こうしょくてき陰影いんえいじゅうしん238,9,63編成へんせい #EE093Fまいり网页颜色.

ざいURLてき特殊とくしゅもとまたようASCIIなかてきじゅうろく进位,まいぶしゆうひゃく份比符號ふごう(%)ざいまえれい如:そらかく表示ひょうじ为%20,而中ぶん维基百科的首页地址就是 https://zh.wikipedia.org/wiki/Wikipedia:%E9%A6%96%E9%A1%B5ざい一些现代的浏览器,如Firefoxなかちゅうじゅう六进制编码会被解码成实际字符,所以ゆえんざい这些浏览ちゅうちゅうぶん维基百科的首页地址显示成 https://zh.wikipedia.org/wiki/Wikipedia:くび

表示ひょうじ方法ほうほうひょう

[编辑]

此中hex带入具体ぐたい16进制すう

环境 格式かくしき 备注
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よう:ぶんへだた

じゅうろくしんてき分數ぶんすう

[编辑]

あずか其他しん系統けいとういちようじゅう六進位的系統可以用來表達分數ぶんすう,而循環じゅんかん小數しょうすう也是很常てき

1÷ 1
=
1 1÷ 5
=
0.3 1÷ 9
=
0.1C7 1÷ D
=
0.13B
1÷ 2
=
0.8 1÷ 6
=
0.2A 1÷ A
=
0.19 1÷ E
=
0.1249
1÷ 3
=
0.5 1÷ 7
=
0.249 1÷ B
=
0.1745D 1÷ F
=
0.1
1÷ 4
=
0.4 1÷ 8
=
0.2 1÷ C
=
0.15 1÷ 10
=
0.1

よし于基すう16平方へいほう(42),しょ以与10进制しょう16进制小数しょうすうてきあまりすう循环周期しゅうきさらつね见。十进制时当最简分母包含不存在于基数的素因数そいんすう时就かい现循环小すう。而16进制时所有しょゆう分母ぶんぼ2てき幂情况下都会とかいひょう现为循环小数しょうすう

しか而由於儲そんじょうてき方便ほうべん,浮點小數しょうすうざい電腦でんのうじょう一般いっぱん都會とかい採用さいようしん

じゅうろく进制てき转换

[编辑]

數學すうがくてき計算けいさん方法ほうほう

[编辑]
じゅうろく进制てき乘法じょうほうひょう

じゅうしんてんじゅうろくしん

[编辑]

しき定理ていり分解ぶんかいれい如將487710轉成てんせいじゅうろくしん

4877÷16=304...13(D)

304÷16=19...0

19÷16=1...3

這樣就計いた487710=130D16


编程ちゅうてきはこしき

[编辑]

Visual Basic

[编辑]
  • じゅう六进制转换为十进制:じゅう进制(Longがた)=CLng("&H" & じゅうろく进制すう(Stringがた))
  • 十进制转换为十六进制:じゅうろく进制すう(Stringがた)=Hex$(じゅう进制)

Javascript

[编辑]

Javascript のう以 toString() 函數かんすうらいはた十進位數字轉為其他任意進位格式(String類型るいけい

var num = 255;
num.toString(16); // 將之まさゆきてんためじゅうろくしんせい

また可用かよう parseInt() 函數かんすうはた任意にんいしんてきくしてんためじゅうしん數字すうじ

var hexNum = "FF";
parseInt(hexNum, 16); // しょうじゅうろくしんせいうたてため10しんせい

Python

[编辑]

調しらべようPython內置int()はこすう該字くしてんため數字すうじ以下いかためざいPythonかい释器へんほど環境かんきょうてき操作そうさしめせはん

  • じゅう六进制的字串轉為十进制數字:
 print(int('ff', 16))
255
  • 十进制數字转换为以十六进制表示之字串,調ちょうよう內置てきhex()函数かんすう
 print(hex(255))
0xff
  • 調しらべようBinAscii块其ちゅうてきb2a_hex()函数かんすうASCIIへん碼的文字もじじゅうろく进制表示ひょうじ
 print(binascii.b2a_hex('A'))
41
はんこれ也可じゅうろく进制表示ひょうじてき文字もじかわなるASCIIへん碼的文字もじ
 print(binascii.a2b_hex('41'))
A

Perl

[编辑]

じゅうしんてんじゅうろくしん

 #!/usr/local/bin/perl
 # filename: 10to16
 for ($i = 0; $i < @ARGV; $i++)
 {
 	printf("%d\t= 0x%x\n", $ARGV[$i], $ARGV[$i]);
 }

じゅうろくしんてんじゅうしん

 #!/usr/local/bin/perl
 # filename: 16to10
 for ($i = 0; $i < @ARGV; $i++)
 {
 	$val = hex($ARGV[$i]);
 	printf("0x%x\t= %d\n", $val, $val);
 }

用例ようれい类UNIXけい统中): さき进入以上いじょうぶんけん所在しょざいてきぶんけん夹,しかきさき执行命令めいれい

> ./10to16 100 512 789
100	= 0x64
512	= 0x200
789	= 0x315
> ./16to10 AB 5D9
0xAB	= 171
0x5D9	= 1497

外部がいぶ链接

[编辑]