(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;

}

相关推荐
掘金安东尼6 分钟前
⏰前端周刊第 453 期(2026年2月9日-2月15日)
前端·javascript·面试
Amumu121389 分钟前
CSS进阶导读
前端·css
Wcowin11 分钟前
为Zensical添加 GitHub 仓库卡片
javascript·github·zensical
anyup13 分钟前
uniapp开发的鸿蒙应用上架后,竟然月入4000+
前端·vue.js·harmonyos
无尽的沉默17 分钟前
使用Thymeleaf配置国际化页面(语言切换)
前端·spring boot
代码老中医29 分钟前
接手老项目的一个月,我重构了那个2000行的“祖传”React组件
前端
Pretend° Ω37 分钟前
抢占优先级 vs 响应优先级:任务调度的双刃剑
linux·c语言·抢占优先级·响应优先级
飘逸飘逸40 分钟前
Autojs进阶前言
android·javascript
叫我一声阿雷吧1 小时前
JS 入门通关手册(01)|零基础入门:JavaScript 到底是什么?学完能干嘛?
javascript·前端入门·js入门
17(无规则自律)1 小时前
你对 argc 和 argv 的理解有多深?
linux·c语言·嵌入式硬件·考研