逍遥自在学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,等等. ...
随机推荐
- upload 上传文件
func SaveUploadedFile(file *multipart.FileHeader, dst string) error{ src, err := file.Open() if err ...
- 消息队列 RocketMQ4.x介绍和新概念讲解
消息队列 RocketMQ4.x介绍和新概念讲解 Apache RocketMQ作为阿里开源的一款高性能.高吞吐量的分布式消息中间件 RocketMQ4.x特点 支持Broker和Consumer端消 ...
- OSIDP-线程-04
进程和线程 进程具有两个相互独立的特点: 1.资源所有权:进程包括存放进程映像的虚拟地址空间,具有对资源的控制权. 2.调度/执行:进程具有运行状态和优先级,是可被 OS 调度和分派的实体. 通常将分 ...
- maven本地仓库有相应的依赖,依旧会从远程仓库拉取问题的原因及解决
请打开你自己的本地仓库,对应依赖路径下的_remote.repositories文件.如果是从远程仓库拉取的,这里一般是显示这个: junit-4.12.jar>alimaven= junit- ...
- 三、Applied visual design(应用视觉设计)
一.文本属性整理 <style> h2 { /* 文字对齐属性 text-align */ /* center:居中,left,right:居左居右,justify:文字拉伸铺满一行 */ ...
- RF射频的定义和原理
转自:http://www.saiyuan.net/portal/article/index/id/119/cid/28.html RF射频的定义和原理 定义 简称RF射频就是射频电流,它是一种高频交 ...
- pod进阶
一.Lifecycle 官网:https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle/ 通过前面的分享,关于pod是什么相信看 ...
- tag 总结
通用的: (((masterpiece))),((best quality)),ultra-detailed,extremely detailed CG unity 8k wallpaper,best ...
- element表格样式修改
HTML代码: <el-table :data="tableData" style="width: 100%" border :row-class-nam ...
- 截取屏幕 转为GIF 图片
近期winform 做的一个截取屏幕的软件给大家!谁要留言给我哦! sss