二进制是一种基于2的数制系统,使用0和1两个数字表示数值。以下是关于二进制表示的详细说明:
一、基本概念
数位与进制 - 二进制采用逢二进一规则,每个数位只能是0或1,对应十进制的权值(2的幂次)。
- 例如:
- $1011_2 = 1×2^3 + 0×2^2 + 1×2^1 + 1×2^0 = 11_{10}$。
基本符号
- 用字母 B表示二进制(如$8B$表示8个bit)。
二、常见表示方法
直接书写法
- 二进制数以0b或0B开头,后接0和1的组合,例如:
```c
int binary_num = 0b1010; // 十进制10
```
位运算符
- 按位与(&): 如$a = 0b1010$,$b = 0b0110$,$a & b = 0b0010$。
- 按位或(|):如$a << 2$(左移2位)结果为$0b101000$(十进制40)。
- 移位运算符:左移$n$位相当于乘以$2^n$,右移$n$位相当于除以2并取整。
位段与结构体 - 在C语言中,位段可定义特定位数的整数类型,例如:
```c
struct BitField {
unsigned int a:4; // 4位无符号整数
unsigned int b:2; // 2位无符号整数
};
```
三、与其他进制的转换
十进制转二进制
- 通过不断除以2取余数,逆序排列,例如:
- 23.375 → 10111.01 → $10111.01_2$。
十六进制转二进制
- 每个十六进制位对应4位二进制,例如:
- $0x1A = 00011010_2$。
四、应用场景
计算机底层: 所有数据(包括字符)均以二进制形式存储和传输。 编程实现
通过以上方法,二进制可通过多种形式灵活表示与操作,是计算机科学的基础。