关于位操作符的实际应用<C语言>

前言

        位操作符在C语言初学阶段相对其他操作符来说,是一种难度比较大的操作符,且运用较少的一类操作符,但是位操作符并不是“一无是处”,合理运用的位操作符,在某些场景下可以优化算法,提高代码的执行效率,存在即合理。

下面给出位操作符的实际运用实例:

^操作符

1.不能创建临时变量(第三个变量),实现两个整数的交换。

        ^的操作符的特点:

        ①0^x=x    ②x^x=0

//不允许创建临时变量,交换两个整数的内容
#include<stdio.h>
int main() {int a = 2;int b = 3;printf("打印前%d %d\n", a, b);a = a ^ b;b = a ^ b;a = a ^ b;printf("打印后%d %d", a, b);return 0;
}

运行结果:

 &、>>操作符

2.求一个整数存储在内存中的二进制1的个数。

        &操作符特点,n&1,就能得到最后一个二进制位是否为1.

//2.求一个整数存储在内存中的二进制1的个数。
#include<stdio.h>
int main() {int n, i, count=0;scanf("%d", &n);for (i = 0; i < 32; i++) {if ((n >> i) & 1 == 1)count++;}printf("%d",count);return 0;
}

多组输入运行结果:

 |、~、<<操作符

 3.一个数的第n位二进制位置0,或置1。

        基本思想:置1,a|=a<<(n-1),

                          置0,a&=~(a<<(n-1))

#include<stdio.h>
int main() {int a, n, j;scanf("%d %d", &a, &n);//假定输入13 5//13的二进制序列:00000000000000000000000000001101a |= (1 << (n - 1));//将第5位置为1后:00000000000000000000000000011101printf("%d\n", a);a &= ~(1 << (n - 1));//将第5位再置为0:00000000000000000000000000001101printf("%d\n", a);return 0;
}

运行结果:

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

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

GRS认证的优点和缺点是什么?

GRS认证&#xff08;Global Recycled Standard&#xff09;的优点主要体现在以下几个方面&#xff1a; 环保性&#xff1a;GRS认证鼓励和保证产品中使用更多的回收材料&#xff0c;从而减少对原始资源的需求和开采&#xff0c;有助于降低环境负荷&#xff0c;促进资源的循环利用…

Python入门到精通,一个月就够了!前字节大佬超详细系统学习路线

毫无疑问&#xff0c;Python 是当下最火的编程语言之一。 对于许多未曾涉足计算机编程的领域「小白」来说&#xff0c;深入地掌握 Python 看似是一件十分困难的事。 感觉很迷茫&#xff1f;学了一段时间还是不入流&#xff1f;很大一部分原因是因为你没有一个完整的知识体系&…

python日常消费数据占比分析总结年消费方向

欢迎关注我👆,收藏下次不迷路┗|`O′|┛ 嗷~~ 目录 一.前言 整体消费情况 消费趋势 特定领域消费数据

大数据面试题 —— 数据仓库

目录 数据仓库是什么数据仓库和数据库的区别为什么要对数据仓库分层数仓分层&#xff0c;以及每一层的作用维度建模的三种模型范式建模、维度建模维度建模过程&#xff0c;如何确定这些维度 ***维度模型的各个维度之间是怎么聚合的聚合过程的数据倾斜怎么解决&#xff1f;数据质…

pyqt6的安装,使用-1

pyqt6安装的话&#xff0c;在自己所用的环境里安就可以&#xff0c;之前写有yolov5,yolov8的环境配置&#xff0c;python3.8的我安装就没有问题&#xff0c;打开anaconda&#xff0c;激活自己的环境 把这复制进去 pip install pyqt6 pip install pyqt6-tools 这个安装完了之后…

基于stm32的spi从机实验HAL库编程

目录 基于stm32的spi从机实验HAL库编程前言业务场景硬件设计接线配置swd接口配置spi配置DMA配置中断配置系统时钟配置工程生成代码写点从机代码上机现象后记本文使用的测试工程 基于stm32的spi从机实验HAL库编程 前言 在微控制器的世界中&#xff0c;串行外设接口(SPI)是一种…

数智化快速开发平台

助力企业IT规划标准化&#xff0c;实现企业IT生态化 目前市场上有很多面向企业各种业务场景的产品&#xff0c;这些产品给企业管理带来便利性的同时&#xff0c;也带来了一系列问题&#xff0c;例如&#xff1a; 不同系统的后台管理功能基本一致&#xff0c;却需要重复建设&a…

基于Detectron2的计算机视觉实践

书籍&#xff1a;Hands-On Computer Vision with Detectron2: Develop object detection and segmentation models with a code and visualization approach 作者&#xff1a;Van Vung Pham&#xff0c;Tommy Dang 出版&#xff1a;Packt Publishing 书籍下载-《基于Detectr…

Codigger:Web应用让开发者拥有更高效的开发之旅

在当今软件开发领域&#xff0c;Web应用以其跨平台、易访问和实时更新的特性&#xff0c;逐渐成为了主流的开发方向。从开发者的视角来看&#xff0c;Codigger借助B/S&#xff08;浏览器/服务器&#xff09;架构和云计算技术&#xff0c;为开发者带来了诸多便利和优势。这些优势…

Java Web 学习笔记(一) —— MySQL(3)

目录 1 Mysql 函数1.1 日期函数1.2 判断函数1.3 字符函数1.4 数学函数 2 Mysql 性能2.1 提高操作数据库性能2.2 执行次数比较多的语句2.3 sql语句的执行效率 3 Mysql 优化&#xff08;***&#xff09;3.1 定位慢查询3.2 SQL执行计划3.3 索引3.3.1 索引介绍与分类3.3.2 索引的使…

#内部类#

1,概念 如果一个类定义在另一个类的内部&#xff0c;这个内部类就叫做内部类。内部类是一个独立的类&#xff0c;它不属于外 部类&#xff0c;更不能通过外部类的对象去访问内部类的成员。外部类对内部类没有任何优越的访问权限。重点&#xff1a;内部类是一个独立的类 注意&…

Chrono下载管理器:提升下载体验,有效管理文件

名人说&#xff1a;莫愁千里路&#xff0c;自有到来风。 ——钱珝 创作者&#xff1a;Code_流苏(CSDN)&#xff08;一个喜欢古诗词和编程的Coder&#x1f60a;&#xff09; 目录 一、介绍二、下载安装1、Chrome应用商店&#xff08;需科学&#xff09;2、第三方直链下载 三、使…