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

}

相关推荐
梵尔纳多1 分钟前
第一个 Electron 程序
前端·javascript·electron
鹏北海-RemHusband1 分钟前
记录一次微前端改造:把 10+ 个独立 Vue 项目整合到一起
前端·javascript·vue.js
wadesir2 分钟前
Judy数组:C语言中的高性能动态数组(全面入门Judy库使用指南)
c语言·开发语言
程序员小寒3 分钟前
前端高频面试题之Promise相关方法
前端·javascript·面试
IT_陈寒4 分钟前
JavaScript 开发者必知的 7 个 ES2023 新特性,第5个能让代码量减少50%
前端·人工智能·后端
李少兄4 分钟前
前端开发中的 CSS @keyframes 动画指南
前端·css
LYFlied5 分钟前
前端技术风险防控:以防为主,防控结合
前端·工程化·技术风险防控
一个平凡而乐于分享的小比特5 分钟前
C语言中 volatile 关键字总结
c语言·volatile
发疯幼稚鬼5 分钟前
插入排序与冒泡排序
c语言·数据结构·算法·排序算法
阿蒙Amon6 分钟前
JavaScript学习笔记:8.日期和时间
javascript·笔记·学习