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

}

相关推荐
2501_944446002 分钟前
Flutter&OpenHarmony文本输入组件开发
前端·javascript·flutter
AI前端老薛8 分钟前
你了解react合成事件吗
前端·react.js·前端框架
会员果汁15 分钟前
算法-拓扑排序-C
c语言·开发语言·算法
WebRuntime16 分钟前
所有64位WinForm应用都是Chromium浏览器(2)
javascript·c#·.net·web
贺今宵18 分钟前
2025.electron-vue3-sqlite3使用
前端·javascript·electron
Dillon Dong28 分钟前
从C到Simulink:什么是MATLAB_MEX_FILE 宏,如何阻挡STM32 HAL 头文件
c语言·stm32·matlab
王同学_11635 分钟前
爬虫辅助技术(css选择器、xpath、正则基础语法)
前端·css·爬虫
Irene199139 分钟前
创建新DOM节点方式总结
javascript·dom
2501_946233891 小时前
Flutter与OpenHarmony大师详情页面实现
android·javascript·flutter
牛先森家的牛奶1 小时前
elementUI的table合并行和列模板
前端·javascript·elementui