十六进制
十六进制是一种以 16 为基数的数制,用于表示 二进制 数据。与使用 10 个符号表示数字的十进制(或基数为 10 的)数制不同,十六进制数字使用 16 个符号——数字“0”到“9”表示 0 到 9,字母“A”到“F”表示 10 到 15。
在十进制数制中,数字以 10 的倍数递增。每达到一组 10 个数字,就将下一位数字加 1:例如,在计数“8-9-10-11-12”时,会将第二位数字(十位)从 0 增加到 1,并将第一位数字(个位)重新设为 0;在计数“98-99-100-101-102”时,会同时将第二位和第三位数字(百位)加 1。在十六进制数制中,则是每达到 16 个数字才将下一位数字加 1:例如,在计数“8-9-A-B-C-D-E-F-10-11-12”时,直到 F(第 15 个值)之后才会增加第二位数字,而不是在 9 之后增加。
计算机使用十六进制值,以更短、更易读的格式表示二进制 数据。十六进制值不是一长串 0 和 1,而是紧凑且易于阅读的形式。每个十六进制数字表示 4 个 位 的一种可能组合,也称为一个 半字节;例如,十六进制数字 B 表示特定的一组位 1011。由于一个 字节包含 8 位,因此两个十六进制数字的组合可以表示任意字节。十六进制数字还具有大小写不敏感的特性——bb74 和 BB74 表示相同的值。
十六进制数还可以用比十进制数更少的字符表示较大的数字。例如,两个十六进制数字可以表示 0 到 255 之间的任意值,而六个十六进制数字可以表示 0 到 16,777,215 之间的任意值。例如,下面的值都表示同一个数字:
- 十进制:47,988
- 十六进制:BB74
- 二进制:1011 1011 0111 0100
使用十六进制数
由于许多十六进制数可能被误认为十进制数或单词,因此它们通常会包含特殊标记,以表明自己是十六进制数。例如,Unix 和 C 编程语言以及 (C++ 和 Java 等派生语言)会在源代码中的十六进制数前使用前缀 0x;例如 0xBB74。用十六进制数表示的 Unicode 字符使用前缀 U+;例如,字母“T”在 Unicode 中表示为 U+0054。
网页设计师和图形设计师经常使用十六进制值,通过十六进制颜色代码表示 RGB 颜色。这些代码以 # 符号开头,后面跟着六个十六进制数字——红色、绿色和蓝色通道分别使用两个数字表示 0 到 255 之间的值。例如,#800080 表示紫色,其做法是等量混合红色和蓝色(使用十六进制数字 80,表示值 128),不使用绿色(使用十六进制数字 00,表示值 0)。六个十六进制数字可以表示超过 1600 万种可能的颜色。
测试你的知识