【位操作符的几种题型】

位操作符的几种题型

目录

题型一:寻找“单身狗”。

题型二:计算一个数在二进制中1的个数

题型三:不允许创建临时变量,交换两个整数的内容

题型一:寻找“单身狗”。

1.1题目解析

在一个整型数组中,只有一个数字出现一次,其他数组都是成对出现的,请找出那个只出现一次的数字。
例如:
数组中有:1 2 3 4 5 1 2 3 4,只有5出现一次,其他数字都出现2次,找出5

1.2函数实现

int FindDog(int arr[], int sz)
{int m = arr[0];for (int i = 1; i < sz; i++){m ^= arr[i];}return m;
}

1.3实际代入

#include<stdio.h>
#include<stdlib.h>
int FindDog(int arr[], int sz)
{int m = arr[0];for (int i = 1; i < sz; i++){m ^= arr[i];}return m;
}
int main()
{int arr[] = { 1,1,2,3,4,5,2,3,4 };int sz = sizeof(arr) / sizeof(arr[0]);printf("%d", FindDog(arr, sz));return 0;
}

1.4运行结果举例

在这里插入图片描述

题型二:计算一个数在二进制中1的个数

2.1题目解析

写一个函数返回参数二进制中 1 的个数。
比如: 15 0000 1111 4 个 1

2.2函数实现

int Count(int n)
{int count = 0;while (n){n = n & (n - 1);count++;}return count;
}

2.3实际代入

#include<stdio.h>
int Count(int n)
{int count = 0;while (n){n = n & (n - 1);count++;}return count;
}
int main()
{int n = 0; scanf("%d", &n);printf("%d\n", Count(n));return 0;
}

2.4运行结果举例

在这里插入图片描述

题型三:不允许创建临时变量,交换两个整数的内容

3.1题目解析

不允许创建临时变量,交换两个整数的内容
例如:输入 5 3
输出 3 5

3.2代码实现

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

3.3运行结果举例

在这里插入图片描述

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

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

相关文章

SUB-1G SOC芯片DP4306F 32 位 ARM Cortex-M0+内核替代CMT2380F32

DP4306F是一款高性能低功耗的单片集成收发机&#xff0c;集成MO核MCU&#xff0c;工作频率可覆盖200MHiz^ 1000MHz。 支持230/408/433/470/868/915频段。该芯片集成了射频接收器、射频发射器、频率综合器、GFSK调制器、GFSK解调器等功能模块。通过SPI接口可以对输出功率、频道选…

element-plus的日期选择器限定选择范围

目录 前言一、最近30天总结 前言 提示&#xff1a;这里可以添加本文要记录的大概内容&#xff1a; element-plus的日期选择器限定选择范围&#xff0c;由于数据的获取范围限定&#xff0c;需要前端处理一下日期的选择范围 提示&#xff1a;以下是本篇文章正文内容&#xff0c…

软考高级之系统架构师之数据通信与计算机网络

概念 OSPF 在划分区域之后&#xff0c;OSPF网络中的非主干区域中的路由器对于到外部网络的路由&#xff0c;一定要通过ABR(区域边界路由器)来转发&#xff0c;既然如此&#xff0c;对于区域内的路由器来说&#xff0c;就没有必要知道通往外部网络的详细路由&#xff0c;只要由…

【计算机网络】概述及数据链路层

每一层只依赖于下一层所提供的服务&#xff0c;使得各层之间相互独立、灵活性好&#xff0c;已于实现和维护&#xff0c;并能促进标准化工作。 应用层&#xff1a;通过应用进程间的交互完成特定的网络应用&#xff0c;HTTP、FTP、DNS&#xff0c;应用层交互的数据单元被称为报…

音频光耦合器

音频光耦合器是一种能够将电信号转换为光信号并进行传输的设备。它通常由发光二极管&#xff08;LED&#xff09;和光敏电阻&#xff08;光电二极管或光敏电阻器&#xff09;组成。 在音频光耦合器中&#xff0c;音频信号经过放大和调节后&#xff0c;被转换为电流信号&#xf…

【密码学】六、公钥密码

公钥密码 1、概述1.1设计要求1.2单向函数和单向陷门函数 2、RSA公钥密码体制2.1加解密2.2安全性分析 3、ElGamal公钥密码体制3.1加解密算法3.2安全性分析 4、椭圆曲线4.1椭圆曲线上的运算4.2ECC 5、SM2公钥密码体制5.1参数选取5.2密钥派生函数5.3加解密过程5.3.1初始化5.3.2加密…

ThinkPHP6企业OA办公系统

有需要请加文章底部Q哦 可远程调试 ThinkPHP6企业OA办公系统 一 介绍 勾股OA基于ThinkPHP6开发&#xff0c;前端Layui&#xff0c;数据库mysql&#xff0c;是一款实用的企业办公系统。可多角色登录&#xff0c;集成了系统设置、人事管理、消息管理、审批管理、日常办公、客户…

pytest 用例运行方式

一、命令行方式运行 执行某个目录下所有的用例&#xff0c;符合规范的所有用例 进入到对应的目录,直接执行pytest; 例如需要执行testcases 下的所有用例; 可以进入testcases 目录; 然后执行pytest 进入对应目录的上级目录,执行pytest 目录名称/ ; ; 例如需要执行testcases 下…

【Android】在Windows11系统上运行VisualStudioEmulator forAndroid

这是一个x86架构处理器的安卓模拟器&#xff0c; 在Visual Studio开发工具上用的&#xff0c;也是运行在Hyper-V虚拟机上的&#xff0c;相比其它的模拟器的性能好&#xff0c;占用磁盘空间小&#xff0c;操作简洁方便&#xff0c;非常适合开发人员调试安卓手机模拟。 安装 首…

K8S系列文章之 Traefik快速入门

traefik 与 nginx 一样&#xff0c;是一款优秀的反向代理工具&#xff0c;或者叫 Edge Router。至于使用它的原因则基于以下几点 无须重启即可更新配置自动的服务发现与负载均衡与 docker 的完美集成&#xff0c;基于 container label 的配置漂亮的 dashboard 界面metrics 的支…

要实现智能制造到底有多难?先看看这一步...

是新朋友吗&#xff1f;记得先点上方蓝字关注Ruff 智能制造、数字化转型&#xff0c;已成为当下制造业最炙手可热的话题&#xff0c;政府工作报告中已多次提到&#xff0c;为了促进数字经济发展&#xff0c;加强数字中国建设整体布局&#xff0c;打造智能工厂、智慧工厂。愿景是…

论文阅读---《Unsupervised Transformer-Based Anomaly Detection in ECG Signals》

题目&#xff1a;基于Transformer的无监督心电图&#xff08;ECG&#xff09;信号异常检测 摘要 异常检测是数据处理中的一个基本问题&#xff0c;它涉及到医疗感知数据中的不同问题。技术的进步使得收集大规模和高度变异的时间序列数据变得更加容易&#xff0c;然而&#xff…

SEO搜索引擎优化

目录 场景 内部业务To B (Business-to-Business&#xff0c;B2B)需要降低SEO&#xff0c;反爬 客户业务To C (Business-to-Consumer&#xff0c;B2C)需要提高SEO TDK优化 Title&#xff08;标题&#xff09; Description&#xff08;描述&#xff09; Keywords&#xff…

matplotlib 笔记 plt.grid

用于添加网格线 主要参数 visible 布尔值&#xff0c;True表示画网格 which表示要显示的刻度线类型&#xff0c;可以是 major&#xff08;主刻度&#xff09;或 minor&#xff08;次刻度&#xff09;&#xff0c;或者同时显示&#xff08;both&#xff09;alpha 透明度 …

Effective Java笔记(27)消除非受检的警告

用泛型编程时会遇到讲多编译器警告 &#xff1a; 非受检转换警告&#xff08; unchecked cast warning &#xff09;、非受检方法调用警告、非受检参数化可变参数类型警告&#xff08; unchecked parameterized vararg type warning&#xff09;&#xff0c;以及非受检转换警告…

【Pyhthon实战】Python对全校电费查询采集并可视化分析

前言 今天,我来说说怎么抓取宿舍电费的过程。我们学校是在完美校园交电费的,我们可以不用取抓包完美校园的数据接口,我们可以直接登录学校的一卡通网站,每个学校都有,大家可以自己找找,这里我为什么要抓包呢,因为学校提供的网站已经打不开了,这里就不介绍怎么抓包了。 …

9篇论文速览 ICML 2023 测试时自适应(TTA)最新研究进展

测试时自适应对于领域转移下真实机器感知应用的成功至关重要&#xff0c;近年来&#xff0c;研究者们仍然在不断优化现有的方法。在今年的ICML中&#xff0c;TTA相关的研究也有了最新进展。 1.Uncovering Adversarial Risks of Test-Time Adaptation 标题&#xff1a;揭示测试…

Java 常用编辑器 IntelliJ IDEA

文章目录 IDEA 概述IDEA 下载和安装IDEA 中的第一个代码IDEA 的项目和模块操作&#xff08;一&#xff09;类的操作&#xff08;二&#xff09;模块的操作&#xff08;三&#xff09;项目的操作 IDEA 概述 IntelliJ IDEA是一款由JetBrains开发的集成开发环境&#xff08;IDE&am…

git【潦草学习】

初始配置git 查询版本号 初次使用git前配置用户名与邮箱地址 git config --global user.name "your name" git config --global user.email "your email" git config -l 发现最后两行多出了用户名和邮箱&#xff0c;说明配置成功

玩机搞机---安卓新机型payload.bin刷写救砖 无需专用线刷包

目前的新机型官方卡刷包解包后都是payload.bin分区格式的卡刷固件。而有个别一些机型没有线刷包&#xff0c;当这些机型出现系统问题的时候有以下几种方法参考救砖。遇到类似故障的朋友可以借鉴参考下. 其中的不足和相关的资源可以参考这两个博文。任何教程的目的只是拓展你的…