十六进制颜色
什么是十六进制?
十六进制(简称 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 - 亮青
如需更多颜色代码,推荐使用在线转换工具:颜色代码转换器