【位操作符的几种题型】

位操作符的几种题型

目录

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

题型二:计算一个数在二进制中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.hqwc.cn/news/60403.html

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

相关文章

开发运营监控

DevOps 监控使管理员能够实时了解生产环境中的元素&#xff0c;并有助于确保应用程序平稳运行&#xff0c;同时提供最高的业务价值&#xff0c;对于采用 DevOps 文化和方法的公司来说&#xff0c;这一点至关重要。 什么是开发运营监控 DevOps 通过持续开发、集成、测试、监控…

uniapp微信小程序中打开腾讯地图获取用户位置信息

实现的效果 第一步&#xff1a;首先登录微信公众平台 , 需要用到AppID 第二步&#xff1a; 注册登录腾讯位置服务 注册需要手机号和邮箱确认&#xff0c;然后创建应用 创建后点击添加key 添加后会生成key&#xff0c;后面会用到这个key 第三步&#xff1a; 登录微信公众平台&a…

走进人工智能| 智能物联网 AIoT的魅力交织

前言&#xff1a; AIIoT是指人工智能&#xff08;AI&#xff09;与物联网&#xff08;IoT&#xff09;的结合。智能物联网是一种技术体系&#xff0c;通过连接和集成物理设备、传感器和互联网&#xff0c;实现设备之间的智能交互和数据共享&#xff0c;为人们提供智能化、自动化…

科技前沿:一文带你读懂“星闪点亮万物互联”

目录 一、星闪简介 二、星闪技术的模式 三、星闪技术六大优势 四、应用场景 智能汽车 智能工业 智能穿戴 智能家居 智能终端 一、星闪简介 星闪NearLink是由中国信通院牵头发起的星闪联盟&#xff08;NearLink Alliance&#xff09;推出的一种新一代近距离无线连接技…

广州华锐互动:VR3D课程在线教育平台为职业院校提供沉浸式的虚拟现实学习体验

随着科技的飞速发展&#xff0c;虚拟现实(VR)和增强现实(AR)技术已经逐渐渗透到我们生活的各个领域。其中&#xff0c;VR3D课程在线教育平台作为一种新兴的教育方式&#xff0c;正在逐渐改变我们的学习方式和体验。本文将详细介绍VR3D课程在线教育平台的应用前景及特点。 VR3D课…

无涯教程-Perl - 面向对象

Perl中的面向对象概念很大程度上基于引用以及匿名数组和哈希。让我们开始学习面向对象Perl的基本概念。 定义类 在Perl中定义一个类非常简单。类以最简单的形式对应于Perl软件包。要在Perl中创建一个类&#xff0c;我们首先构建一个包。 Perl软件包在Perl程序中提供了一个单…

Kafka:安装和配置

producer&#xff1a;发布消息的对象&#xff0c;称为消息产生者 &#xff08;Kafka topic producer&#xff09; topic&#xff1a;Kafka将消息分门别类&#xff0c;每一个消息称为一个主题&#xff08;topic&#xff09; consumer&#xff1a;订阅消息并处理发布消息的对象…

Apache2.4源码安装与配置

环境准备 openssl-devel pcre-devel expat-devel libtool gcc libxml2-devel 这些包要提前安装&#xff0c;否则httpd编译安装时候会报错 下载源码、解压缩、软连接 1、wget下载[rootnode01 ~]# wget https://downloads.apache.org/httpd/httpd-2.4.57.tar.gz --2023-07-20 …

jenkins流水线

1.拉取代码 https://gitee.com/Wjc_project/yygh-parent.git2、项目编译 mvn clean package -Dmaven.test.skiptrue ls hospital-manage/target3、构建镜像 ls hospital-manage/target docker build -t hospital-manage:latest -f hospital-manage/Dockerfile ./hospital-ma…

本质矩阵E、基本矩阵F、单应矩阵H

1. E (归一化坐标对进行计算) t ^ R 为3*3的矩阵, 因为R,t共有6个自由度&#xff0c;又因为单目尺度等价性&#xff0c;所以实际上E矩阵共有5个自由度。因此至少需要5个点对来求解。 2. 基本矩阵F:根据两帧间匹配的像素点对儿计算 3*3且自由度为7的矩阵kF也为基础矩阵&#x…

如何给Google Chrome增加proxy

1. 先打开https://github.com/KaranGauswami/socks-to-http-proxy/releases 我的电脑是Liunx系统所以下载第一个 2. 下载完之后把这个文件变成可执行文件&#xff0c;可以是用这个命令 chmod x 文件名 3. 然后执行这个命令&#xff1a; ./sthp-linux -p 8080 -s 127.0.0.1:…

使用 Visual Studio Code 调试 CMake 脚本

之前被引入到 Visual Studio 中的 CMake 调试器&#xff0c;现已在 Visual Studio Code 中可用。 也就是说&#xff0c;现在你可以通过在 VS Code 中安装 CMake 工具扩展&#xff0c;来调试你的 CMakeLists.txt 脚本了。是不是很棒? 背景知识 Visual C 开发团队和 CMake 的维…