逍遥自在学C语言 | 位运算符的基础用法
前言

一、人物简介
- 第一位闪亮登场,有请今后会一直教我们C语言的老师 —— 自在。

- 第二位上场的是和我们一起学习的小白程序猿 —— 逍遥。

二、构成和表达方式
- 位运算符是一组用于在二进制数之间进行操作的运算符
| 运算符 | 名称 | 示例 |
|---|---|---|
| & | 位与 | a && b |
| | | 位或 | a | b |
| ^ | 位异或 | a ^ b |
| ~ | 位取反 | ~a |
| << | 二进制左移 | a << 2 |
| >> | 二进制右移 | a >> 2 |
三、位运算符的应用
1、位与运算符 (&)
位与运算符用符号
&表示。如果两个操作数的对应位都为1,则位与运算的结果为1,否则结果为0
示例代码
#include <stdio.h>
int main() {
int a = 13; //二进制表示为0b1101
int b = 11; //二进制表示为0b1011
int c = a & b;
printf("%d\n", c); //输出结果为9,二进制表示为0b1001
return 0;
}

2、位或运算符 (|)
位或运算符用符号
|表示。如果两个操作数的对应位中至少有一个为1,则位或运算的结果为1,否则结果为0。
示例代码
#include <stdio.h>
int main() {
int a = 13; //二进制表示为0b1101
int b = 11; //二进制表示为0b1011
int c = a | b;
printf("%d\n", c); //输出结果为15,二进制表示为0b1111
return 0;
}

3、位异或运算符 (^)
位异或运算符用符号
^表示如果两个操作数的对应位不同,则位异或运算的结果为1,否则结果为0
示例代码
#include <stdio.h>
int main() {
int a = 13; //二进制表示为0b1101
int b = 11; //二进制表示为0b1011
int c = a ^ b;
printf("%d\n", c); //输出结果为6,二进制表示为0b0110
return 0;
}

4、位取反运算符 (~)
位取反运算符用符号
~表示它会对操作数的每个二进制位取反,即0变成1,1变成0
示例代码
#include <stdio.h>
int main() {
int a = 13; //二进制表示为0b1101
int b = ~a;
printf("%d\n", b); //输出结果为-14,二进制表示为0b11111111111111111111111111110010
return 0;
}

5、左移运算符 (<<)
左移运算符用符号
<<表示它将操作数的所有二进制位向左移动指定的位数,并在低位填充0
示例代码
#include <stdio.h>
int main() {
int a = 13; //二进制表示为0b1101
int b = a << 2;
printf("%d\n", b); //输出结果为52,二进制表示为0b110100
return 0;
}

6、右移运算符 (>>)
右移运算符用符号
>>表示。它将操作数的所有二进制位向右移动指定的位数,并在高位填充0或1(具体取决于操作数的符号)
示例代码
#include <stdio.h>
int main() {
int a = 13; //二进制表示为0b1101
int b = a >> 2;
printf("%d\n", b); //输出结果为3,二进制表示为0b0011
return 0;
}

小结
通过本文的讲解,我们学会了6种位运算符的基础用法,在接下来的文章中,将会继续介绍这6种位运算符的高级用法。
逍遥自在学C语言 | 位运算符的基础用法的更多相关文章
- C语言位运算符:与、或、异或、取反,左移和右移
C语言位运算符:与.或.异或.取反.左移和右移 个位操作运算符.这些运算符只能用于整型操作数,即只能用于带符号或无符号的char,short,int与long类型. ,则该位的结果值为1,否则为0 | ...
- C语言位运算符:与、或、异或、取反、左移和右移
语言位运算符:与.或.异或.取反.左移和右移 位运算是指按二进制进行的运算.在系统软件中,常常需要处理二进制位的问题.C语言提供了6个位操作运算符.这些运算符只能用于整型操作数,即只能用于带符号或无符 ...
- 快看Sample代码,速学Swift语言(2)-基础介绍 快看Sample代码,速学Swift语言(1)-语法速览
快看Sample代码,速学Swift语言(2)-基础介绍 Swift语言是一个新的编程语言,用于iOS, macOS, watchOS, 和 tvOS的开发,不过Swift很多部分内容,我们可以从C或 ...
- 基础知识复习(一)——C语言位运算符详解
常用的位运算符:与(&),取反(~),或(|),异或(^),左移(«),右移(») 1. 与(&)操作符,按位与,全为1 时,结果取1 11001 &10011 结果:1000 ...
- 【转】C语言位运算符:与、或、异或、取反、左移与右移详细介绍
转载自:http://www.jb51.net/article/40559.htm,感谢原作者. 以下是对C语言中的位运算符:与.或.异或.取反.左移与右移进行了详细的分析介绍,需要的朋友可以过来参考 ...
- c语言位运算符
C语言既具有高级语言的特点,又具有低级语言的功能. 所谓位运算是指进行二进制位的运算. C语言提供的位运算: 运算符 含义 & 按位与 | 按位或 ∧ 按位异或 ∽ ...
- C语言位运算符:与、或、异或、取反、左移与右移详细介绍
位运算是指按二进制进行的运算.在系统软件中,常常需要处理二进制位的问题.C语言提供了6个位操作运算符.这些运算符只能用于整型操作数,即只能用于带符号或无符号的char,short,int与long类型 ...
- C语言位运算符详解
原文链接:https://www.cnblogs.com/911/archive/2008/05/20/1203477.html 位运算是指按二进制进行的运算.在系统软件中,常常需要处理二进制位的问题 ...
- C语言--位运算符
一.位运算符 1.按位与:& 1> 功能 * 只有对应的两个二进制位为1时,结果位才为1,否则为0 * 举例:10用二进制表示为1010, 7用二进制表示为0111.对两个数值进行&a ...
- C#位运算符的基本用法
位运算符包括:| 按位或 OR,& 按位与 AND,^ 按位异或 XOR,~ 取反 NOT,<< 左移 Left Shift,>> 右移 Right Shift,等等. ...
随机推荐
- 第一个程序,Hello,World!
Hello World 创建一个文件夹,存放代码 新建一个java文件 后缀名为.java 编写代码 public class Hello{ public static void main(st ...
- Android studio 使用Internet传递信息
使用Intent在Activity之间传递信息1.首先创建一个新的Activity,在activity_main.xml中设计页面,将android.support.constraint.Constr ...
- Parallels Desktop 18(Mac虚拟机)v18.0.0(53049)无限试用版+win11系统
Parallels Desktop 18 for Mac 是一款强大的虚拟机软件,让您无需重启即可在 Mac 上运行 Windows 应用程序不会减慢 Mac 的运行速度,具有速度快.操作简单且功能强 ...
- CSS 常用样式-文字三属性
颜色 color: 作用:给文字设置颜色. 属性名 k :color 属性值 v :颜色名.颜色值. 颜色名: 颜色名就是使用颜色的英文单词进行表示. 需要记忆一些最常用的颜色名: 更多的颜色名可以通 ...
- error:Visual Studio 2012.4, “Run As Administrator” -> “The application cannot start”
复制所有 dte*.olb 文件 从C:\Program Files (X86)\Common Files\Microsoft Shared\MSEnv 到 C:\Program Files X8 ...
- C语言和C++的区别与联系(详细)
文章转自:https://blog.csdn.net/cherrydreamsover/article/details/81835976 在学习了C语言和C++之后,这两者之间的区别我们需要仔细的捋一 ...
- Field userService in com.lin.hms.controller.LogController required a bean of type 'org.lin.hms.service.UserService' that could not be found.
需要一个bean但找不到 解决 我们在controller使用的service没有注入spring容器,那么我们可以在启动类上,加上包扫描注解,让这个bean所在的包能扫描到: @ComponentS ...
- 腾讯云等Linux环境下Redis安装配置
1.下载redis解压安装命令教程 https://www.cnblogs.com/hunanzp/p/12304622.html 2.配置远程连接 修改bind 127.0.0.0 为 bind ...
- TensorFlow 的 Graph 模式转换
定义 TensorFlow 图形并将其保存到磁盘上. 使用 TensorFlow 的 tf.Graph() 和 tf.Session() 函数来定义和运行 TensorFlow 图形,并使用 tf.t ...
- Android Studio Dolphin 稳定版正式发布
作者 / Yuri Blaise, Product Manager, Android为了帮助开发者们更轻松地打造高质量应用,Android Studio 团队深入调研,为大家带来了最新稳定版 An ...