BitOperationinC
创始人
2024-12-19 20:30:41
0

位运算是指在二进制位上对数据进行操作的一种运算方式。C语言中提供了丰富的位运算符来进行位运算操作。

以下是常用的位运算符:

& (按位与):两个二进制位都为1,结果才为1,否则为0 | (按位或):两个二进制位都为0,结果才为0,否则为1 ^ (按位异或):两个二进制位相同,结果为0,不同,结果为1 ~ (按位取反):将每个二进制位上的值取反 << (左移):将二进制数向左移动指定的位数,左边空出的位补0

(右移):将二进制数向右移动指定的位数,右边空出的位补0或者补1(取决于原数的符号)

示例代码:

#include int main() { unsigned char a = 0xFA; //二进制 1111 1010 unsigned char b = 0x25; //二进制 0010 0101

unsigned char c = a & b;   //二进制 0010 0000
unsigned char d = a | b;   //二进制 1111 1111
unsigned char e = a ^ b;   //二进制 1101 1111
unsigned char f = ~a;      //二进制 0000 0101
unsigned char g = a << 2;  //二进制 1111 0100
unsigned char h = a >> 2;  //二进制 0000 1111

printf("%x\n", c);         //输出 20
printf("%x\n", d);         //输出 ff
printf("%x\n", e);         //输出 df
printf("%x\n", f);         //输出 5
printf("%x\n", g);        

相关内容

热门资讯

前端-session、jwt 目录:   (1)session (2&#x...
linux入门---制作进度条 了解缓冲区 我们首先来看看下面的操作: 我们首先创建了一个文件并在这个文件里面添加了...
关于测试,我发现了哪些新大陆 关于测试 平常也只是听说过一些关于测试的术语,但并没有使用过测试工具。偶然看到编程老师...
前缀和与对数器与二分法 1. 前缀和 假设有一个数组,我们想大量频繁的去访问L到R这个区间的和,...
nodejs:本地安装nvm实... 一、背景-使用不同版本node的原因 vue3+ts、nuxt3版本,node...
JAVA集合知识整理 Java集合知识整理 HashMap相关 HashMap的底层数据结构:jdk1.8之...
无刷直流电机介绍及单片机控制实... 无刷直流电机介绍及单片机控制实例前言基本概念优势与劣势使用寿命基本结构使用单片机控制实例电子调速器&...
fwdiary(2) dp2 1.传纸条  AcWing 275. 传纸条 - AcWing 走两条路,走一条最大的...
常用的DOS命令 常用的DOS命令 DOS(Disk Operating System,磁...
<C++> 类和对象(下) 1.const成员函数将const修饰的“成员函数”称之为const成员函数,cons...