
指导师老郭为您分享以下优质知识
在C语言中,二进制数的表示方法主要有以下四种:
使用前缀 `0b` 或 `0B`,后跟二进制数字(0和1)。这是C99标准新增的表示方法,例如:
$$
int binary = 0b1010; quad text{或} quad int binary = 0B1010;
$$
该表示法直接对应十进制数10。
八进制字面量
以 `0` 开头,后跟八进制数字(0-7)。由于八进制仅包含4个数字,可简化二进制表示(如 `0101` 等价于二进制 `0001 0001`)。例如:
$$
int binary = 0101;
$$
该表示法对应十进制数5。
十六进制字面量
以 `0x` 或 `0X` 开头,后跟十六进制数字(0-9,A-F)。需注意,十六进制与二进制的转换规则为1位十六进制数=4位二进制数。例如:
$$
int binary = 0xA; quad text{(二进制为1010)}
$$
该表示法对应十进制数10。
位运算符
通过按位与(`&`)、或(`|`)、异或(`^`)、移位(``)等运算符操作二进制数。例如:
$$
int a = 0b1010; quad b = 0b0110; quad c = a | b; quad text{结果为0b1110(十进制14)}
$$
适用于对二进制位进行逻辑操作。
注意事项:
二进制字面量(`0b`前缀)在C99及以上版本中支持,旧版本需使用十六进制转换。- 字符串字面量(如 `"0101"`)仅用于存储二进制数据,无法直接参与算术运算。