C语言经典100例题(51-54)--学习使用按位与 ,按位或 |,按位异或 ^和按位取反~

news2025/3/1 9:49:02

目录

题目

问题分析

按位与操作符(&)

按位或操作符(|)

按位异或操作符(^)

按位取反操作符(~)

代码及运行结果


题目

 学习使用按位与& ,按位或 |,按位异或 ^和按位取反~

问题分析

按位与操作符(&)

对两个二进制数的对应位进行与操作。如果两个位置上的位都是1,则结果为1,否则为0。

0 & 0 = 0;

0 & 1 = 0;

1 & 0 = 0;

1 & 1 = 1

有0则0,同1则1

例如:给定两个二进制数1010和1100,进行按位与操作:

  1010
& 1100
-------
  1000

按位或操作符(|)

对两个二进制数的对应位进行或操作。如果两个位置上的位中至少有一个为1,则结果为1,否则为0。

0 | 0 = 0;

0 | 1 = 1;

1 | 0 = 1;

1 | 1 = 1

有1则1,同0则0

例如:给定两个二进制数1010和1100,进行按位或操作:

  1010
| 1100
-------
  1110

按位异或操作符(^)

对两个二进制数的对应位进行异或操作。如果两个位置上的位不同,则结果为1,否则为0。

0 ^ 0 = 0;

0 ^ 1 = 1;

1 ^ 0 = 1;

1 ^ 1 = 0

相同则0,不同则1

例如:给定两个二进制数1010和1100,进行按位异或操作:

  1010
^ 1100
-------
  0110

按位取反操作符(~)

将一个二进制数的每个位取反,即将所有的1变为0,将所有的0变为1。

~0 = 1;

~1 = 0

例如:给定一个二进制数1010,进行按位取反操作:

 ~ 1010
-------
   0101

代码及运行结果

//按位与&    
//0 & 0 = 0; 0 & 1 = 0; 1 & 0 = 0; 1 & 1 = 1

#include "stdio.h"
main()
{
	int a, b;
	a = 077;      // 1110111
	b = a & 3;    // 0000011
	printf("\40: The a & b(decimal) is %d \n", b);//decimal--十进制
	b &= 7;       // 0000111
	printf("\40: The a & b(decimal) is %d \n", b);
}

 

//按位或 | 。
//0 | 0 = 0; 0 | 1 = 1; 1 | 0 = 1; 1 | 1 = 1

#include "stdio.h"
main()
{
	int a, b;
	a = 077;
	b = a | 3;
	printf("\40: The a & b(decimal) is %d \n", b);
	b |= 7;
	printf("\40: The a & b(decimal) is %d \n", b);
}

 

//按位异或 ^ 。   
//0 ^ 0 = 0; 0 ^ 1 = 1; 1 ^ 0 = 1; 1 ^ 1 = 0

#include "stdio.h"
main()
{
	int a, b;
	a = 077;
	b = a ^ 3;
	printf("\40: The a & b(decimal) is %d \n", b);
	b ^= 7;
	printf("\40: The a & b(decimal) is %d \n", b);
}

 

//按位取反~。   
//~0 = 1; ~1 = 0;

#include "stdio.h"
main()
{
	int a, b;
	a = 234;
	b = ~a;
	printf("\40: The a's 1 complement(decimal) is %d \n", b);
	a = ~a;
	printf("\40: The a's 1 complement(hexidecimal) is %x \n", a);
}

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/998266.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Android 10.0 禁用插入耳机时弹出的保护听力对话框

1.前言 在10.0的系统开发中,在某些产品中会对耳机音量调节过高限制,在调高到最大音量的70%的时候,会弹出音量过高弹出警告,所以产品 开发的需要要求去掉这个音量弹窗警告功能 2.禁用插入耳机时弹出的保护听力对话框的核心类 frameworks\base\packages\SystemUI\src\com\an…

宋浩高等数学笔记(十二)无穷级数

完结,宋浩笔记系列的最后一更~ 之后会出一些武忠祥老师的错题&笔记总结,10月份就要赶紧做真题了

windows在gem下安装jekyll的问题

项目场景: 安装jekyll时抛出错误: ERROR: While executing gem … (Gem::RemoteFetcher::FetchError) IO::TimeoutError: Failed to open TCP connection to gems.ruby-china.com:443 (https://gems.ruby-china.com/quick/Marshal.4.8/jekyll-0.1.6.ge…

excl在建模语言中的运用

目录 1.表格的定位 2.数学函数 3.自动填充功能 4.数据透视表的应用 5.切片器 6. Date(),time(),now(),today() 7.文本转日期 8.分裂 9.sumif函数 10.数字转换为文本的方法 11.SUMIFS()函数:多个条件筛选 12.宏 13.提取多个表中,…

【随想】每日两题Day.4

题目:LeetCode 203.移除列表元素 给你一个链表的头节点 head 和一个整数 val ,请你删除链表中所有满足 Node.val val 的节点,并返回 新的头节点 。 示例 1: 输入:head [1,2,6,3,4,5,6], val 6 输出:[1,2…

项目部署之持续集成

1. 什么是持续集成 持续集成(Continuous integration, 简称CI)指的是,频繁地(一天多次)将代码集成到主干。 持续集成的组成要素 一个自动构建过程, 从检出代码、 编译构建、 运行测试、 结果记…

TDesign 点击高亮显示=》点击切换class类名

1. wx:for遍历数组 2. 在一行显示 2. 点击高亮

NPM 常用命令(七)

目录 1、npm help 1.1 命令使用 1.2 描述 1.3 配置 viewer 2、npm help-search 2.1 命令使用 2.2 描述 2.3 配置 long 3、npm hook 3.1 命令使用 3.2 描述 3.3 示例 3.4 配置 registry otp 4、npm init 4.1 命令使用 4.2 转发附加选项 4.3 示例 4.4 工作…

基于51单片机DS18B20温度及电流检测-proteus仿真-源程序

一、系统方案 本设计采用52单片机作为主控器,液晶1602显示,DS18B20检测温度,电流检测。 二、硬件设计 原理图如下: 三、单片机软件设计 1、首先是系统初始化 void lcd_init() //lcd 初始化设置子函数,不带参数 ,0x…

Matlab图像处理-边缘提取

基本概念 如果一个像素落在图像中某一个物体的边界上,那么它的邻域将成为一个灰度级变化的带。对这种变化最有用的两个特征是灰度的变化率和方向,它们分别以梯度向量的幅度和方向来表示。 边缘检测算子检查每一个像素的邻域并对灰度变化率进行量化&…

100天精通Python(可视化篇)——第100天:Pyecharts绘制多种炫酷漏斗图参数说明+代码实战

文章目录 专栏导读一、漏斗图介绍1. 说明2. 应用场景 二、漏斗图类说明1. 导包2. add函数 三、漏斗图实战1. 基础漏斗图2. 标签内漏斗图3. 百分比漏斗图4. 向上排序漏斗图5. 标准漏斗图 专栏导读 🔥🔥本文已收录于《100天精通Python从入门到就业》&…

特殊矩阵的压缩存储(对称矩阵,三角矩阵和三对角矩阵)

目录 1.对阵矩阵 2.三角矩阵 3.三对角矩阵(带状矩阵) 均假设数组的下标从0开始 1.对阵矩阵 定义:若对一个n阶矩阵A中的任意一个元素 aᵢ,ⱼ 都有aᵢ,ⱼaⱼ,ᵢ (1≤i,j≤n),则称其为对称矩阵。 存储策略…

Spring最佳实践: 构建高效可维护的Java应用程序

🌷🍁 博主猫头虎(🐅🐾)带您 Go to New World✨🍁 🦄 博客首页——🐅🐾猫头虎的博客🎐 🐳 《面试题大全专栏》 🦕 文章图文…

第7章_瑞萨MCU零基础入门系列教程之UART

本教程基于韦东山百问网出的 DShanMCU-RA6M5开发板 进行编写,需要的同学可以在这里获取: https://item.taobao.com/item.htm?id728461040949 配套资料获取:https://renesas-docs.100ask.net 瑞萨MCU零基础入门系列教程汇总: ht…

编译国产openEuler 22.03 LTS系统OpenSSH 9.4的rpm安装包

目前OpenSSH版本已至9.4,其作为操作系统底层管理平台软件,需要保持更新以免遭受安全攻击,编译生成rpm包是生产环境中批量升级的最佳途径。本文在国产openEuler 22.03 LTS系统上完成OpenSSH 9.4的编译工作。 一、准备编译环境: 1…

【北大核心CSCD期刊】生物特征识别论文投稿经历

计算机工程与应用:半月刊、审稿快、比较简单。

iisfastchi漏洞复现

1.查看版本 2.在路径中写入 php脚本 发现使用不了 3.环境搭建 结局打开 把限制打开

PostgreSQL数据库事务系统——获取virtual transaction id

如果一个事务没有进行INSERT、UPDATE、DELETE操作,那么就步会分配事务ID,但事务仍然用一个虚拟事务ID代表自己。虚拟事务ID由两部分组成,第一部分是Backend ID,另一个是每个会话自己维护的本地事务ID计数器。通过两部分组合&#…

算法通关村第十九关——动态规划高频问题(白银)

算法通关村第十九关——动态规划高频问题(白银) 前言1 最少硬币数2 最长连续递增子序列3 最长递增子序列4 完全平方数5 跳跃游戏6 解码方法7 不同路径 II 前言 摘自:代码随想录 动态规划五部曲: 确定dp数组(dp tabl…

Unicode:Codejock Suite Prov22.1.0 for ActiveX Crack

Codejock 荣获 2022 年 Visual Studio 杂志读者选择奖!Visual Studio 杂志宣布了第 28 届年度读者选择奖的获奖者。今年是 Visual Studio 杂志的读者对其 Visual Studio 相关工具和服务进行投票的第 28 年,他们对 42 个类别的产品提供了意见,…