当前位置: 首页 > news >正文

蓝桥杯算法|练习记录

位运算

  • 按位与运算符(&)

    • 运算规则两位同时为1,结果才为1,否则结果为0。例如, -3(在计算机中表示为1101)&5(0101) = 0101(即十进制的1),这里负数在计算机中用补码表示2。结果不会变大。
    • 应用示例
      • 取指定位:比如取数X = 10101110的低4位,只需要另找一个数Y,令Y的低4位为1,其余位为0(即Y = 00001111),然后将X与Y进行按位与运算(X&Y = 00001110)即可得到X的指定位。
      • 判断奇偶:可以根据一个数与1进行按位与运算的结果判断奇偶性,因为奇数的二进制最后一位为1,偶数最后一位为0,例如,5(101)&1(001) = 1,所以5是奇数。
  • 按位或运算符(|)

    • 运算规则:将两个操作数化为二进制后并将对应的每一位分别进行逻辑或操作,只要有一个为1结果就为1,即0|0 = 0;0|1 = 1;1|0 = 1;1|1 = 1。结果不会变小。
    • 应用示例:常用于对一个数据的某些位设置为1。
  • 按位异或运算符(^)

    • 运算规则对应位相同则运算结果为0,否则为1,即0^0 = 0;0^1 = 1;1^0 = 1;1^1 = 0。例如,任何二进制数与零异或,都会等于其本身,即A^0 = A。不会进位。
    • 应用示例
      • 翻转指定位比如将数X = 10101110的低4位进行翻转,只需要找到一个数Y,令Y的低4位为1,其余位为0(即Y = 00001111),然后将X与Y进行异或运算(X^Y = 10100001)即可得到。
      • 具有自反性:A^B^B = A(由结合律可推:A^B^B = A^(B^B)=A^0 = A)。
  • 按位取反运算符(~)

    • 运算规则:对每一位进行取反。例如,求x的相反数可以用x = (~x + 1)。
  • 左移运算符(<<)

    • 运算规则:将一个运算对象的各二进制位全部左移若干位(左边的二进制位丢弃,右边补0)。例如,设a = 10101110,a = a << 2将a的二进制位左移2位、右补0,即得a = 10111000。若左移时舍弃的高位不包含1,则每左移一位,相当于该数乘以2。
  • 右移运算符(>>)

    • 运算规则:将一个运算对象的各二进制位全部右移若干位,左补0或者左补1得看被移数是正还是负。例如,12(00001100)右移2位变为00000011(即3)。

 

相关文章:

蓝桥杯算法|练习记录

位运算 按位与运算符&#xff08;&&#xff09; 运算规则&#xff1a;两位同时为1&#xff0c;结果才为1&#xff0c;否则结果为0。例如&#xff0c; -3&#xff08;在计算机中表示为1101&#xff09;&5&#xff08;0101&#xff09; 0101&#xff08;即十进制的1&…...

C语言 扫雷程序设计

目录 1.main函数 2.菜单打印menu函数 3.游戏game函数 4.宏定义 5.界面初始化 6.打印界面 7.设置雷 8.统计排查坐标周围雷的个数 9.排查雷 10.总代码 test.c代码 game.h代码 game.c代码 结语&#xff1a; 一个简单的扫雷游戏&#xff0c;通过宏定义可以修改行列的…...

CSS语言的文件操作

CSS语言文件操作浅析 CSS&#xff08;层叠样式表&#xff09;是一种用于描述HTML文档表现的样式表语言。它负责设置网页的视觉效果&#xff0c;包括文字、颜色、布局等。然而&#xff0c;CSS不仅仅是用于修饰页面&#xff0c;它在现代开发中的作用正变得愈发重要。在本文中&am…...

前端-计算机网络篇

一.网络分类 1.按照网络的作用范围进行分类 &#xff08;1&#xff09;广域网WAN(Wide Area Network) 广域网的作用范围通常为几十到几千公里,因而有时也称为远程网&#xff08;long haul network&#xff09;。广域网是互联网的核心部分&#xff0c;其任务是长距离运送主机…...

行为分析:LSTM、3D CNN、SlowFast Networks。这三者的优缺点

在行为分析任务中&#xff0c;**LSTM**、**3D CNN** 和 **SlowFast Networks** 是三种常用的深度学习模型。它们各有优缺点&#xff0c;适用于不同的场景和需求。以下是它们的详细对比&#xff1a; --- ### **1. LSTM&#xff08;Long Short-Term Memory&#xff09;** LSTM …...

【HarmonyOS NEXT】鸿蒙应用使用后台任务之长时任务,解决屏幕录制音乐播放等操作不被挂起

【HarmonyOS NEXT】鸿蒙应用使用后台任务之长时任务&#xff0c;解决屏幕录制音乐播放等操作不被挂起 一、前言 1.后台是什么&#xff1f; 了解后台任务和长时任务前&#xff0c;我们需要先明白鸿蒙的后台特性&#xff1a;所谓的后台&#xff0c;指的是设备返回主界面、锁屏、…...

STM32-WWDG/IWDG看门狗

WWDG/IWDG一旦开启不能关闭&#xff0c;可通过选项字节在上电时启动硬件看门狗&#xff0c;看门狗计数只能写入不能读取。看门狗启用时&#xff0c;T6bit必须置1&#xff0c;防止立即重置。 一、原理 独立看门狗-超时复位 窗口看门狗-喂狗&#xff08;重置计数器&#xff0c;…...

基于视觉惯性 SLAM(VSLAM)、相机和 IMU 数据的融合执行 6 自由度位姿跟踪

案例来源&#xff1a;https://spectacularai.github.io/docs/sdk/wrappers/oak.html 适配相机&#xff1a;带IMU的 OAK-D 系列相机 基于视觉惯性 SLAM&#xff08;VSLAM&#xff09;、相机和 IMU 数据的融合执行 6 自由度位姿跟踪 ~~~~~~~&#xff08;分界线&#xff09;~~~~~…...

Matlab仿真径向受压圆盘光弹图像

Matlab仿真径向受压圆盘光弹图像-十步相移法 主要参数 % 定义圆盘参数 R 15; % 圆盘半径&#xff0c;单位&#xff1a;mm h 5; % 圆盘厚度&#xff0c;单位&#xff1a;mm P 300; % 径向受压载荷大小&#xff0c;单位&#xff…...

网络安全抓包

#知识点&#xff1a; 1、抓包技术应用意义 //有些应用或者目标是看不到的&#xff0c;这时候就要进行抓包 2、抓包技术应用对象 //app,小程序 3、抓包技术应用协议 //http&#xff0c;socket 4、抓包技术应用支持 5、封包技术应用意义 总结点&#xff1a;学会不同对象采用…...

WebSocket 测试调试:工具与实践

在前五篇文章中,我们深入探讨了 WebSocket 的基础原理、服务端开发、客户端实现、安全实践和性能优化。今天,让我们把重点放在测试和调试上,看看如何确保 WebSocket 应用的质量和可靠性。我曾在一个实时通讯项目中,通过完善的测试和调试策略,将线上问题的发现时间从小时级缩短到…...

ArmSoM RK3588/RK3576核心板,开发板网络设置

ArmSoM系列产品都搭配了以太网口或WIFI模块&#xff0c;PCIE转以太网模块、 USB转以太网模块等&#xff0c;这样我们的网络需求就不止是上网这么简单了&#xff0c;可以衍生出多种不同的玩法。 1. 网络连接​ 连接互联网或者组成局域网都需要满足一个前提–设备需要获取到ip&a…...

【学Rust开发CAD】1 环境搭建

文章目录 一、搭建C/C编译环境二、安装Rust三、配置 PATH 环境变量四、验证安装结果五、安装编辑工具 一、搭建C/C编译环境 Rust 的编译工具依赖 C 语言的编译工具&#xff0c;这意味着你的电脑上至少已经存在一个 C 语言的编译环境。如果你使用的是 Linux 系统&#xff0c;往…...

数据结构与算法之二叉树: LeetCode 108. 将有序数组转换为二叉搜索树 (Ts版)

将有序数组转换为二叉搜索树 https://leetcode.cn/problems/convert-sorted-array-to-binary-search-tree/description/ 描述 给你一个整数数组 nums &#xff0c;其中元素已经按 升序 排列请你将其转换为一棵 平衡 二叉搜索树 示例 1 输入&#xff1a;nums [-10,-3,0,5,9…...

Java 多线程之@Async

SpringBoot 中使用 Async 使用 Async 注解步骤&#xff1a; 添加 EnableAsync 注解。在主类上或者 某个类上&#xff0c;否则&#xff0c;异步方法不会生效 添加 Async注解。在异步方法上添加此注解。异步方法不能被 static 修饰需要自定义线程池&#xff0c;则可以配置线程池…...

代码随想录day38 动态规划6

题目&#xff1a;322.零钱兑换 279.完全平方数 139.单词拆分 多重背包 背包总结 需要重做&#xff1a;322&#xff0c;139 322. 零钱兑换 思路&#xff1a;零钱&#xff0c;可取多次-》完全背包。 注意&#xff1a; 五部&#xff1a; 1.dp[j]:价值为j的时候&#xff0c;最…...

LabVIEW无标题的模态VI窗口的白框怎么去除?

在LabVIEW中&#xff0c;如果你遇到无标题的模态&#xff08;modal&#xff09;VI窗口显示有一个白框&#xff0c;通常是由于VI界面的一些属性或者控件设置问题导致的。为了去除这个白框&#xff0c;可以尝试以下几种方法&#xff1a; 1. 检查VI窗口属性设置 确保你的VI窗口属…...

iOS - 原子操作

在 Objective-C 运行时中&#xff0c;原子操作主要通过以下几种方式实现&#xff1a; 1. 基本原子操作 // 原子操作的基本实现 #if __has_feature(c_atomic)#define OSAtomicIncrement32(p) __c11_atomic_add((_Atomic(int32_t) *)(p), 1, __ATOMIC_RELAXED) #define …...

Go语言的语法

Go语言入门与实战 引言 在当今的开发环境中&#xff0c;随着互联网的快速发展&#xff0c;程序员们面临着越来越复杂的系统需求。针对这些需求&#xff0c;Go语言&#xff08;又称Golang&#xff09;作为一种新的编程语言应运而生。Go语言由Google开发&#xff0c;它具有简单…...

【MySQL 保姆级教学】用户管理和数据库权限(16)

数据库账户管理是指对数据库用户进行创建、修改和删除等操作&#xff0c;以控制用户对数据库的访问权限。通过账户管理&#xff0c;可以设置用户名、密码、主机地址等信息&#xff0c;确保数据库的安全性和可控性。例如&#xff0c;使用 CREATE USER 创建用户&#xff0c;ALTER…...

Zustand 状态管理库:极简而强大的解决方案

Zustand 是一个轻量级、快速和可扩展的状态管理库&#xff0c;特别适合 React 应用。它以简洁的 API 和高效的性能解决了 Redux 等状态管理方案中的繁琐问题。 核心优势对比 基本使用指南 1. 创建 Store // store.js import create from zustandconst useStore create((set)…...

mysql已经安装,但是通过rpm -q 没有找mysql相关的已安装包

文章目录 现象&#xff1a;mysql已经安装&#xff0c;但是通过rpm -q 没有找mysql相关的已安装包遇到 rpm 命令找不到已经安装的 MySQL 包时&#xff0c;可能是因为以下几个原因&#xff1a;1.MySQL 不是通过 RPM 包安装的2.RPM 数据库损坏3.使用了不同的包名或路径4.使用其他包…...

纯 Java 项目(非 SpringBoot)集成 Mybatis-Plus 和 Mybatis-Plus-Join

纯 Java 项目&#xff08;非 SpringBoot&#xff09;集成 Mybatis-Plus 和 Mybatis-Plus-Join 1、依赖1.1、依赖版本1.2、pom.xml 2、代码2.1、SqlSession 构造器2.2、MybatisPlus代码生成器2.3、获取 config.yml 配置2.3.1、config.yml2.3.2、项目配置类 2.4、ftl 模板2.4.1、…...

RabbitMQ入门4.1.0版本(基于java、SpringBoot操作)

RabbitMQ 一、RabbitMQ概述 RabbitMQ RabbitMQ最初由LShift和CohesiveFT于2007年开发&#xff0c;后来由Pivotal Software Inc.&#xff08;现为VMware子公司&#xff09;接管。RabbitMQ 是一个开源的消息代理和队列服务器&#xff0c;用 Erlang 语言编写。广泛应用于各种分布…...

接口自动化测试:HttpRunner基础

相关文档 HttpRunner V3.x中文文档 HttpRunner 用户指南 使用HttpRunner 3.x实现接口自动化测试 HttpRunner介绍 HttpRunner 是一个开源的 API 测试工具&#xff0c;支持 HTTP(S)/HTTP2/WebSocket/RPC 等网络协议&#xff0c;涵盖接口测试、性能测试、数字体验监测等测试类型…...

通过 Ansible 在 Windows 2022 上安装 IIS Web 服务器

拓扑结构 这是一个用于通过 Ansible 部署 IIS Web 服务器的实验室拓扑。 前提条件&#xff1a; 在被管理的节点上安装WinRm 准备一张自签名的证书 开放防火墙入站tcp 5985 5986端口 准备自签名证书 PS C:\Users\azureuser> $cert New-SelfSignedCertificate -DnsName &…...

Elastic 获得 AWS 教育 ISV 合作伙伴资质,进一步增强教育解决方案产品组合

作者&#xff1a;来自 Elastic Udayasimha Theepireddy (Uday), Brian Bergholm, Marianna Jonsdottir 通过搜索 AI 和云创新推动教育领域的数字化转型。 我们非常高兴地宣布&#xff0c;Elastic 已获得 AWS 教育 ISV 合作伙伴资质。这一重要认证表明&#xff0c;Elastic 作为 …...

《信号与系统》第 6 章 信号与系统的时域和频域特性

目录 6.0 引言 6.1 傅里叶变换的模和相位表示 6.2 线性时不变系统频率响应的模和相位表示 6.2.1 线性与非线性相位 6.2.2 群时延 6.2.3 对数模和相位图 6.3 理想频率选择性滤波器的时域特性 6.4 非理想滤波器的时域和频域特性讨论 6.5 一阶与二阶连续时间系统 6.5.1 …...

CppCon 2015 学习:Time Programming Fundamentals

Civil Time 公历时间 特点&#xff1a; 共 6 个字段&#xff1a; Year&#xff08;年&#xff09;Month&#xff08;月&#xff09;Day&#xff08;日&#xff09;Hour&#xff08;小时&#xff09;Minute&#xff08;分钟&#xff09;Second&#xff08;秒&#xff09; 表示…...

文件上传漏洞防御全攻略

要全面防范文件上传漏洞&#xff0c;需构建多层防御体系&#xff0c;结合技术验证、存储隔离与权限控制&#xff1a; &#x1f512; 一、基础防护层 前端校验&#xff08;仅辅助&#xff09; 通过JavaScript限制文件后缀名&#xff08;白名单&#xff09;和大小&#xff0c;提…...