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.


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

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

相关文章
|
JavaScript
vue3-在自定义hooks使用useRouter 报错问题
vue3-在自定义hooks使用useRouter 报错问题
2335 0
|
11月前
|
安全 数据挖掘 BI
欢迎使用Quick BI,开启您的智能数据分析之旅!
欢迎选择Quick BI作为您的数据分析伙伴!本文将为您介绍一个月全功能免费试用教程,帮助您轻松上手。请确保在PC环境下操作。
1001 6
|
存储 SQL 关系型数据库
面试官:你能聊聊 binlog、undo log、redo log 吗?
本文详细解析了MySQL数据库中的三种日志:binlog、undo log和redo log。binlog用于记录数据库的所有表结构变更及数据修改,支持归档、主从复制和数据恢复;undo log用于事务回滚,确保事务的原子性和实现多版本控制;redo log则用于crash-safe,确保数据库异常重启后已提交记录不丢失。文章通过实例和图表,深入浅出地介绍了每种日志的特点、应用场景及其实现机制。适合数据库开发者和运维人员阅读。
695 2
|
Java 数据格式 微服务
2024最新首发,全网最全 Spring Boot 学习宝典(附思维导图)
📚 《滚雪球学Spring Boot》是由CSDN博主bug菌创作的全面Spring Boot教程。作者是全栈开发专家,在多个技术社区如CSDN、掘金、InfoQ、51CTO等担任博客专家,并拥有超过20万的全网粉丝。该教程分为入门篇和进阶篇,每篇包含详细的教学步骤,涵盖Spring Boot的基础和高级主题。
1482 4
2024最新首发,全网最全 Spring Boot 学习宝典(附思维导图)
|
监控 安全 数据安全/隐私保护
确保数据安全与隐私保护的数据治理最佳实践
【8月更文第13天】随着数据成为企业最重要的资产之一,数据安全和隐私保护变得至关重要。本文将探讨数据治理中的一些最佳实践,并提供具体的代码示例来说明如何实施这些策略。
2523 4
|
IDE 开发工具 Python
python3代码编程规范(命名、空格、注释、代码布局、编程建议等)
该文章详细介绍了Python3的编程规范,包括命名、空格使用、注释、代码布局等方面的最佳实践,帮助提升代码的可读性和一致性。
1341 0
|
机器学习/深度学习 自然语言处理 大数据
社交媒体的情感分析大数据模型
构建基于大数据的情感分析模型,利用Python和机器学习处理社交媒体数据。情感分析识别文本情感倾向,助力市场洞察和舆情监控。技术栈包括Python、NLP库(nltk, spaCy, TextBlob, VADER)、Scikit-learn、TensorFlow/PyTorch及大数据工具。数据收集(如Twitter API)、预处理(去除噪声、分词)、特征提取(TF-IDF、词嵌入)、模型训练(逻辑回归、BERT)是关键步骤。模型能捕捉文本情感,支持决策,随着技术进步,应用前景广阔。
1831 10
STM32 ST-LINK Utility程序烧录方法
STM32 ST-LINK Utility程序烧录方法
3258 0
|
JSON 数据格式
“JSON parse error: Unexpected character (‘1‘ (code 49))的解决方式
“JSON parse error: Unexpected character (‘1‘ (code 49))的解决方式
|
NoSQL Java 关系型数据库
基于java Swing 和 mysql实现的飞机订票系统(源码+数据库+ppt+ER图+流程图+架构说明+论文+运行视频指导)
基于java Swing 和 mysql实现的飞机订票系统(源码+数据库+ppt+ER图+流程图+架构说明+论文+运行视频指导)
1375 0

热门文章

最新文章