十六进制(Hexadecimal)简介
1.1 什么是十六进制?
十六进制是一种使用16个符号表示数值的系统:数字0-9(表示0-9),字母A-F(表示10-15)。
1.2 十六进制表示法
在编程中,通常用以下方式表示十六进制数:C/C++/C#/Java等:前缀0x(如0x1A3F),汇编语言/Pascal等:后缀h(如1A3Fh)
1.3 十六进制与十进制对照表
十六进制十进制二进制000000110001220010330011440100550101660110770111881000991001A101010B111011C121100D131101E141110F151111
以0x1234 举例说明:前缀 0x 表示这是一个十六进制数(C/C++/C#/Java 等语言的通用写法)
每一位十六进制数(0-9, A-F)对应 4 位二进制数:
0x1 = 0001(二进制)
0x2 = 0010
0x3 = 0011
0x4 = 0100
因此,0x1234 的二进制表示是:0001 0010 0011 0100
因此,0xABCD的二进制是:1010 1011 1100 1101
2. 编程中的十六进制应用
2.1 C#中的十六进制
int hexValue = 0x1A3F; // 十六进制赋值
Console.WriteLine(hexValue); // 输出:6719(十进制)
Console.WriteLine(hexValue.ToString("X")); // 输出:1A3F(十六进制)
2.2 位操作
十六进制常用于位掩码操作:
int flags = 0x0F; // 二进制00001111
int mask = 0x08; // 二进制00001000
bool isSet = (flags & mask) != 0; // 检查第4位是否设置
2.3 字节操作
byte[] data = { 0x41, 0x42, 0x43 }; // "ABC"的ASCII码
string hexString = BitConverter.ToString(data); // "41-42-43"
3. 计算机中为何使用十六进制
3.1 与二进制的天然对应
1位十六进制数 = 4位二进制数1字节(8位) = 2位十六进制数便于表示和记忆二进制数据
3.2 内存地址表示
32位系统地址范围:0x00000000 ~ 0xFFFFFFFF
64位系统地址范围:0x0000000000000000 ~ 0xFFFFFFFFFFFFFFFF
3.3 颜色表示
#FF0000 - 红色
#00FF00 - 绿色
#0000FF - 蓝色
#FFFFFF - 白色