十六进制(Hexadecimal)简介

十六进制(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 十六进制与十进制对照表 

十六进制 十进制 二进制
0 0 0000
1 1 0001
2 2 0010
3 3 0011
4 4 0100
5 5 0101
6 6 0110
7 7 0111
8 8 1000
9 9 1001
A 10 1010
B 11 1011
C 12 1100
D 13 1101
E 14 1110
F 15 1111

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 - 白色

你可能感兴趣的:(开发语言)