首页  > 教育解读  > 二进制在c

二进制在c

2025-04-01 19:59:10
指导师老郭
指导师老郭已认证

指导师老郭为您分享以下优质知识

在C语言中,二进制数的表示方法主要有以下几种:

一、二进制字面量表示法

这是最直接的方法,使用`0b`或`0B`前缀后跟二进制数字(仅含0和1)。

```c

int binary_num = 0b1010; // 十进制10

int binary_num2 = 0B1111; // 十进制15

```

自C99标准起,`0b`和`0B`均被支持,但部分旧编译器可能仅接受`0b`。

二、八进制字面量表示法(二进制简写)

八进制数仅包含0-7,由于二进制是八进制的基,因此可以用八进制表示二进制数(每3位二进制对应1位八进制)。

```c

int binary_num3 = 0101; // 二进制0101,八进制5

```

三、位运算符操作

C语言提供位运算符对二进制位进行操作,包括:

按位与(&):逐位比较,全1为1,否则为0

```c

int a = 0b1010; int b = 0b0110; int c = a & b; // 结果0b0010(2)

```

按位或(|):逐位取1,全0为0

```c

int a = 0b1010; int b = 0b0110; int c = a | b; // 结果0b1110(14)

```

按位异或(^):对应位不同为1,相同为0

```c

int a = 0b1010; int b = 0b0110; int c = a ^ b; // 结果0b1100(12)

```

按位取反(~):逐位取反

```c

int a = 0b1010; int c = ~a; // 结果0b0101(5)

```

移位运算符:左移(``)相当于除以2

```c

int a = 0b1010; int b = a