
公考顾老师为您分享以下优质知识
C语言中的二进制表示主要用于底层硬件操作和位级编程,其核心特点如下:
一、二进制的基本概念
二进制是一种基数为2的数制,仅使用0和1两个数字,遵循“逢二进一”的进位规则。例如:
- $1 + 1 = 10$(二进制),对应十进制的2;
- $10 + 110 = 1000$(二进制),对应十进制的12。
位权概念
二进制数每位对应2的幂次,从右至左依次为$2^0, 2^1, 2^2, dots$。例如:
- $0101_{(2)} = 1 times 2^0 + 0 times 2^1 + 1 times 2^2 + 0 times 2^3 = 5$。
二、C语言中二进制的表示方法
二进制字面量
C99标准引入了二进制字面量的表示方式,使用前缀`0b`或`0B`,后跟二进制数字(0和1)。例如:
```c
int binary_num = 0b1010; // 十进制10
```
位运算符
C语言提供按位运算符(如`&`、`|`、`^`、`~`)对二进制数进行操作。例如:
```c
int a = 0b1010; // 10
int b = 0b0110; // 6
int c = a | b; // 14 (二进制1110)
```
移位运算符
支持左移(``)操作,用于快速乘以或除以2的幂次。例如:
```c
int a = 0b1010; // 10
int b = a