C/运算符(按位与、按位或、按位异或)

简介: C/运算符(按位与、按位或、按位异或)

本文主要介绍C语言中按位与、按位或、按位异或三个操作符的使用。

该三个操作符中的位,代表的是二进制位。

按位与:&
运算规则:只有两个数的二进制同时为1,结果才为1,否则为0。(负数按补码形式参加按位与运算)

实例:

#include<stdio.h>
int main()
{
  int a = 3 & 5;
  printf("%d  ", a);
  return 0;
}

输出结果:



分析该代码 :


1.3的补码: 0000 0000 0000 0000 0000 0000 0000 0011.

2.5的补码: 0000 0000 0000 0000 0000 0000 0000 0101.

3.经过按位与的操作,得到的补码为:0000 0000 0000 0000 0000 0000 0000 0001.


故输出结果为1.

按位或:|

运算规则:只有两个数的二进制同时为0,结果才为0,否则为1。(负数按补码形式参加按位或运算)

实例:

#include<stdio.h>
int main()
{
  int a = 3 | 5;
  printf("%d  ", a);
  return 0;
}

输出结果:
 
分析该代码:


1.3的补码:0000 0000 0000 0000 0000 0000 0000 0011.

2.5的补码:0000 0000 0000 0000 0000 0000 0000 0101.

3.经过按位或的操作,得到的补码为: 0000 0000 0000 0000 0000 0000 0000 0111.


故输出结果为7.

按位异或:^

运算规则:当两个数的二进制相同时,结果为0,否则为1。(负数按补码形式参加按位异或运算)

实例:

#include<stdio.h>
int main()
{
  int a = -3 ^ 5;
  printf("%d  ", a);
  return 0;
}

输出结果:
 
分析该代码:


1.-3的补码:1111 1111 1111 1111 1111 1111 1111 1101.

2.5的补码:0000 0000 0000 0000 0000 0000 0000 0101.

3.经过按位异或得到的补码为:1111 1111 1111 1111 1111 1111 1111 1000


故输出结果为-8.


这篇博客如果对你有帮助,给博主一个免费的点赞以示鼓励,欢迎各位🔎点赞👍评论收藏⭐️,谢谢!!!

如果有什么疑问或不同的见解,欢迎评论区留言哦。

相关文章
|
2月前
|
数据采集 人工智能 监控
从SEO到GEO:B2B出海企业AI认知工程的12步闭环架构与实践
基于B2B外贸出海实践,见增出海提出一套可落地的GEO技术实施框架与12步闭环架构,涵盖内容结构化(Schema.org/JSON-LD)、多信源矩阵分发、AI爬虫策略、客户信号追踪及销售触达闭环。重点探讨GEO如何同时服务Inbound(海外买家主动验证)与Outbound(基于预热信号的精准触达)两条路径,避免"做了GEO就等客上门"的常见误区。适合技术团队、架构师及出海企业CTO参考。
240 1
从SEO到GEO:B2B出海企业AI认知工程的12步闭环架构与实践
|
JavaScript
Vue3的v-model说明和使用方法
Vue3的v-model说明和使用方法
722 1
|
9月前
|
存储 机器学习/深度学习 人工智能
构建AI智能体:八十一、SVD模型压缩的艺术:如何科学选择K值实现最佳性能
本文探讨了SVD(奇异值分解)在深度学习模型压缩中的应用。随着模型规模不断扩大,面临的存储、计算和能耗问题日益突出。SVD通过将大型矩阵分解为三个特殊矩阵(U、Σ、Vᵀ),并根据奇异值大小进行截断,实现模型的高效压缩。文章详细分析了SVD的数学原理、压缩机制和参数选择策略,重点讨论了如何通过能量保留、目标压缩率和拐点检测等方法确定最佳截断秩k。以一个500×300的用户-物品矩阵为例,实证显示k=32时能实现82.93%的压缩率,99.97%的能量保留和5.86倍计算加速,达到了精度损失与压缩收益的最佳平衡
585 5
|
弹性计算 固态存储 NoSQL
阿里云服务器系统盘ESSD AutoPL、ESSD和ESSD Entry云盘有什么区别?如何选择?
阿里云服务器系统盘提供ESSD Entry、ESSD云盘和ESSD AutoPL三种类型,性能与适用场景各不相同。ESSD Entry云盘性价比高,适合开发测试;ESSD云盘分为PL0-PL3四个级别,适用于时延敏感或I/O密集型业务;ESSD AutoPL云盘实现容量与性能解耦,支持自定义预配置性能及突发性能,最高可达100万IOPS。选择时可根据实际需求与预算决定,经济型实例推荐ESSD Entry,高性能场景建议ESSD云盘或ESSD AutoPL。具体价格与参数可参考阿里云官方文档。
|
9月前
|
存储 人工智能 小程序
阿里云万小智AI建站系统全解析:收费价格、版本功能区别、使用场景及免费领CN域名
阿里云万小智AI建站系统,集成通义大模型与阿里云技术,提供“低门槛、高效率、全场景”官网搭建方案。支持对话式建站、AI生成内容与设计,三档套餐适配个人至企业需求,购服务即赠.CN域名首年免费,10分钟快速上线,助力数字化高效转型。
|
12月前
|
XML JSON 数据处理
超越JSON:Python结构化数据处理模块全解析
本文深入解析Python中12个核心数据处理模块,涵盖csv、pandas、pickle、shelve、struct、configparser、xml、numpy、array、sqlite3和msgpack,覆盖表格处理、序列化、配置管理、科学计算等六大场景,结合真实案例与决策树,助你高效应对各类数据挑战。(238字)
1467 0
|
存储 前端开发 开发工具
利用阿里云OSS(对象存储服务)快速搭建私人网盘
本文介绍了如何使用阿里云OSS搭建个人网盘的详细步骤。首先,注册阿里云账号并开通OSS服务,创建Bucket;接着,配置AccessKey和跨域访问(CORS)规则。然后,选择开源项目(如FileBrowser)或自定义前端,结合OSS SDK实现文件上传下载功能。最后,部署到服务器并绑定域名,确保安全与性能优化,如权限控制、数据备份及CDN加速。
4751 7
|
XML 存储 缓存
Python-docx编号列表解析:从XML迷宫到结构化数据的破局之道
Word文档中的自动编号功能虽便捷,却在技术处理时常成为障碍。本文深入解析Word文档的XML结构,揭示编号信息的存储机制,并提供多种基于Python的解决方案,涵盖跨平台解析、性能优化及固定模板处理,助力开发者突破编号解析难题,实现合同条款等内容的结构化提取与处理。
638 0
|
人工智能 搜索推荐 数据可视化
鸿蒙应用实践:利用扣子API开发起床文案生成器
本文将使用扣子(coze)智能体API开发一个起床文案生成器,用于自己的鸿蒙应用中生成”千人千面“的起床文案。
1028 0
|
负载均衡 算法 Linux
深入理解Linux内核进程CPU负载均衡机制(上)
深入理解Linux内核进程CPU负载均衡机制