跳到主要内容

十六进制颜色

什么是十六进制?

十六进制(简称 Hex)是一种采用 16 个不同符号的计数系统(即基数为 16)。相较于我们熟悉的十进制(基数为 10,使用 0-9 共 10 个符号),十六进制的符号组成如下:


十进制(基数为 10)

0
1
2
3
4
5
6
7
8
9

十六进制(基数为 16)

0
1
2
3
4
5
6
7
8
9
A //10
B //11
C //12
D //13
E //14
F //15

当数字符号用尽后,十六进制使用字母作为补充。字母 A-F 分别代表 10-15 的数值。

现在让我们看看一些更大的数字。


数值对比示例

十进制(基数为 10)

255

十六进制(基数为 16)

FF

数字 255 很容易理解,但什么是“FF”?让我们看看两者的指数符号。


数值分解说明

警告

注意​ | 下文中的"^"符号表示幂运算,非按位异或运算符。

十进制解析

2 * (10^2) + 5 * (10^1) + 5 * (10^0)
= 200 + 50 + 5
= 255

十六进制解析

F * (16^1) + F * (16^0)
= 15 * 16 + 15 * 1
= 240 + 15
= 255


title: 十六进制的使用场景与方法
sidebar_label: 十六进制应用
description: 十六进制在 PAWN 脚本中的具体应用解析

何时及如何使用十六进制

十六进制并没有唯一的应用场景,您可以在任何需要时使用它,但最常见的用途是颜色定义(我们将在后文详述)。部分开发者会将十六进制作为可视化辅助工具来提高代码可读性(例如 Y_Less 的代码风格):

警告

注意​ | 以下为进阶示例,如暂时无法理解无需担忧

var = b & 0x04

此写法清晰表明了需要获取变量 b 低字节中的第 3 个高位比特(二进制 00000100)。相较而言:

var = b & 4

这种十进制写法在视觉上不够直观。

请注意"04"前的"0x"前缀。这是 PAWN 语言中专用于表示十六进制常量的标识符(如同"0b"用于表示二进制常量)。


颜色格式规范

SA-MP 采用 8 位十六进制颜色编码:

RR - 红色分量(FF为最大值,00为最小值)
GG - 绿色分量(FF为最大值,00为最小值)
BB - 蓝色分量(FF为最大值,00为最小值)
AA - 透明度(FF为完全透明,00为完全不透明)

颜色示例

基础色

0x00000000 - 纯黑
0xFF0000FF - 亮红
0x00FF00FF - 亮绿
0x0000FFFF - 亮蓝
0xFFFFFFFF - 纯白

混合色

0xFFFF00FF - 亮黄
0xFF00FFFF - 亮紫
0x00FFFFFF - 亮青

如需更多颜色代码,推荐使用在线转换工具:颜色代码转换器