C语言——位运算符

简介: C语言——位运算符

C语言——位运算符

位运算符是 C 语言中用于对整数进行位级别的操作的运算符。它们允许你对整数的二进制表示进行操作,从而实现对整数的位操作。下面是一些位运算符的使用例子:

 

1. 按位与运算符(&):将两个整数的二进制表示逐位进行与操作。只有当两个对应的位都为 1 时,结果的该位才为 1。

  image.png

 

 

在上面的例子中,5 的二进制表示为 0101,3 的二进制表示为 0011。将它们进行按位与操作,只有第 0 位和第 1 位都是 1,所以结果为 0001。

 

2. 按位或运算符(|):将两个整数的二进制表示逐位进行或操作。只要两个对应的位中有一个为 1,结果的该位就为 1。

  image.png

 

在上面的例子中,5 的二进制表示为 0101,3 的二进制表示为 0011。将它们进行按位或操作,第 0 位、第 1 位和第 3 位中有一个为 1,所以结果为 0111。

 

3. 按位异或运算符(^):将两个整数的二进制表示逐位进行异或操作。只有当两个对应的位不同时,结果的该位才为 1。

 

  image.png s

在上面的例子中,5 的二进制表示为 0101,3 的二进制表示为 0011。将它们进行按位异或操作,第 0 位、第 1 位和第 3 位的值不同,所以结果为 0110。

 

4. 按位取反运算符(~):将一个整数的二进制表示逐位取反。0 变为 1,1 变为 0。

image.png

 

 

在上面的例子中,5 的二进制表示为 0101。对其进行按位取反操作,结果为 1010。

 

5. 左移运算符(<<):将一个整数的二进制表示向左移动指定的位数。移动后,空缺的位用 0 填充。

image.png

在上面的例子中,5 的二进制表示为 0101。将其向左移动 2 位,结果为 10100。

 

6. 右移运算符(>>):将一个整数的二进制表示向右移动指定的位数。移动后,空缺的位用 0 填充(对于无符号整数)或用符号位填充(对于有符号整数)。

 

image.png

 

在上面的例子中,5 的二进制表示为 0101。将其向右移动 2 位,结果为 0001(对于无符号整数)或 1110(对于有符号整数,在这里使用了符号位填充)。

 

通过使用位运算符,你可以对整数进行位级别的操作,这在处理位级别的数据、实现位运算逻辑以及进行底层编程时非常有用。

目录
相关文章
|
3月前
|
C语言
C语言位运算符详解
C语言位运算符详解
58 0
|
存储 编译器 C语言
【C语言初阶】操作符之 位运算符详解(“ << ”,“ >> ”,“ & ”,“ | ”,“ ^ ”,“ ~ ”)
目录 C语言中六种位运算符: 一、位移运算符 1、移位运算符简介 2、先要了解一点 3、 << 左移运算符 4、>>右移运算符 5、警告 二、 1、& 按位与 2、| 按位或 3、^ 按位异或
233 0
【C语言初阶】操作符之 位运算符详解(“ << ”,“ >> ”,“ & ”,“ | ”,“ ^ ”,“ ~ ”)
C语言位运算符:与、或、异或、取反,左移和右移
C语言位运算符:与、或、异或、取反、左移和右移   位运算是指按二进制进行的运算。在系统软件中,常常需要处理二进制位的问题。C语言提供了6个位操作运算符。这些运算符只能用于整型操作数,即只能用于带符号或无符号的char,short,int与long类型。
|
6天前
|
存储 C语言
【C语言函数】static和extern关键字修饰
【C语言函数】static和extern关键字修饰
|
7天前
|
C语言 C++
|
15天前
|
机器学习/深度学习 C语言
九/十:《初学C语言》— 扫雷游戏实现和函数递归基础
【8月更文挑战第5天】本篇文章用C语言采用多文件编写实现了一个基础的扫雷游戏(附源码),并讲解了关于函数递归的基础概念及其相对应的习题练习(附源码)
29 1
九/十:《初学C语言》— 扫雷游戏实现和函数递归基础
|
17天前
|
存储 编译器 程序员
八:《初学C语言》— 函数的基本概念
【8月更文挑战第3天】本篇文章详细讲解了库函数与自定义函数的区别、函数的嵌套调用及链式访问、函数的声明和定义、static和extern等基础知识
17 1
八:《初学C语言》— 函数的基本概念
|
3天前
|
测试技术 C语言
C语言中的void函数
C语言中的void函数
|
3天前
|
存储 安全 编译器
C语言中的scanf函数
C语言中的scanf函数
|
3天前
|
存储 搜索推荐 C语言
C语言中的指针函数:深入探索与应用
C语言中的指针函数:深入探索与应用