(c语言)位操作符

#include<stdio.h> //位操作符(只针对整数进行操作)
//& - 按(二进制)位与 (有0则0)
//| - 按(二进制)位或 (有1则1)
//^ - 按(二进制)位异或 (不同为1,相同为0)

int main()

{

int a = 3;

int b = -5;

//00000000000000000000000000000011------3的补码
//10000000000000000000000000000101------(-5)的原码
//11111111111111111111111111111010------(-5)的反码
//11111111111111111111111111111011------(-5)的补码

int c = a & b;

//00000000000000000000000000000011------3的补码
//11111111111111111111111111111011------(-5)的补码
//00000000000000000000000000000011------c的补码=原码=3

printf("c=%d\n",c); //3

int d = a | b;

//00000000000000000000000000000011------3的补码
//11111111111111111111111111111011------(-5)的补码
//11111111111111111111111111111011------d的补码
//11111111111111111111111111111010------d的反码
//10000000000000000000000000000101------d的原码=(-5)

printf("d=%d\n",d); //(-5)

int e = a ^ b;

//00000000000000000000000000000011------3的补码
//11111111111111111111111111111011------(-5)的补码
//11111111111111111111111111111000------e的补码
//11111111111111111111111111110111------e的反码
//10000000000000000000000000001000------e的原码=(-8)

printf("e=%d",e); //(-8)

return 0;

}

相关推荐
weixin_431600446 分钟前
NestJS 入门(7):生命周期钩子——构造函数和 `OnModuleInit` 差在哪?
前端·后端·学习·node.js·nest.js
cindershade1 小时前
用原生 HTML5 视频与 Canvas 实现浏览器端视频抽帧封面
前端
笨鸟先飞,勤能补拙1 小时前
Web 服务器与计算机网络全景原理
运维·服务器·前端·网络·人工智能·计算机网络·web安全
NutShell Wang1 小时前
Wails v3 Beta 实战:用显式对象模型重写你的第一个 Go 桌面应用
前端·人工智能·go·vibe coding
daols881 小时前
vue 甘特图 vxe-gantt 任务条拖拽自动更新日期
javascript·vue.js·甘特图
cindershade1 小时前
前端国际化工程实践:语言包拆分、动态加载与日期数字格式统一
前端
kisbad1 小时前
Day 036|OpenAI Agents SDK 快速开始:今天跑通第一个 Agent
java·前端·javascript
qq_267612891 小时前
Gitee CodePecker行业场景化落地指南:金融、车联网与IoT双引擎选型与工程化路径
前端·gitee·自动化
初晨未凉2 小时前
elementui自定义内容图片预览
前端
Herbert_hwt2 小时前
【C语言基础】常量、选择结构与运算符全解析
c语言·开发语言·算法