- n >>=1 : n = n/2
- n&1==1 : n%2 == 1
- n = n&(n-1) 可以将n二进制中最右边1后面的数都变为0 如n =6,则 n = 110 & 101 = 100
- 求n的二进制位(反向 )
while(n){ cout<< n&1 ; n >> =1; } //n=6 (110) 则会输出011
相关推荐
金蝶ERP元数据解析:字段属性与表结构映射实战
本文深入解析金蝶ERP元数据的核心价值与应用实践,详细介绍了字段属性与表结构映射的关键技术。通过缓存获取与工具类直连两种方案对比,结合实际案例展示元数据在数据库校验、动态表单生成等场景的应用,帮助开发者高效解决二次开发中的常见问题。
位运算——强大得令人害怕
先言众所周知,位运算是我们学计算机必学的东西,前人用二进制、位运算给我们了一个操作简单的计算机,但我们却很少接触位运算了。今天介绍一些位运算在算法中的运用。位运算基础 &amp; 按位与 如果两个相应的二进制位都为1,则该位的结果值为1,否则为0 | 按位或 两个相应的二进制位中只要有一个为1,该位的结果值为1 ^ 按位异或 若参加运算的两个二进制位值相同则为0,否则为1 ~ 取反 ~是一元运算符,
洛谷 P5736 【深基7.例2】质数筛
题目描述 输入 n(n\le100)n(n≤100) 个不大于 100000 的整数。要求全部储存在数组中,去除掉不是质数的数字,依次输出剩余的质数。 输入格式 无 输出格式 无 输入输出样例 输入 #1 复制 5 3 4 5 6 7 输出 #1 复制 3 5 7 板子题,使用一下线性筛 #include <iostream> #include <cstdio> #include <cstring> #include <algorithm> using n
位运算的小结
位运算,顾名思义,运算时是对一个数对应的二进制数一位一位运算的,下面在确保你知道一些基础知识情况下进行总结而找出的一些例题。给定一个整数n,不使用条件语句(如ifswitch)和循环,判断其是否为偶数。运算的原理是两个二进制的对应位都为一时为一,当一个数与一进行按位与运算时,由于一除了最低位为1以外,其他位都为0,因此,无论另一个数的非最低位的情况如何,在按位与的运算下都会变为0。也就是说,此时决定结果是最低位,而所有的偶数的最低位是0,只要知道与一按位与运算的结果是否为0即可判断是否为偶数。
PLC与变频器联动控制:从开关量、模拟量到通讯的接线与编程实战
在工业自动化系统中,电机调速控制是核心需求之一,其关键在于实现可编程逻辑控制器(PLC)与变频器之间的可靠联动。其基本原理是通过PLC输出控制信号,由变频器接收并驱动电机按设定速度运行。这项技术的核心价值在于实现电机的软启停、精确调速与节能控制,广泛应用于风机、水泵、传送带及精密张力控制等场景。其中,开关量控制以其接线简单、抗干扰能力强的特点,成为基础且可靠的方案;而模拟量控制则能实现无级平滑调速,满足更高精度的工艺要求。本文以西门子、三菱等主流品牌为例,深入解析了这两种主流控制方式的硬件接线、参数设置与梯
光模块MCU开发全解析:从架构原理到固件调试实战
在高速光模块中,MCU并非传统印象里的核心处理器,而是负责数字诊断、闭环控制和协议管理的嵌入式管家。随着800G、1.6T模块的普及,MCU与DSP/SoC的协同、I2C总线通信、ADC采集、APC/TEC控制等低速域任务愈发关键。理解MCU的选型规格、启动流程和固件设计,是保障光模块稳定运行的基础。本文从光模块架构切入,剖析MCU的角色定位,详细拆解I2C从机实现、电芯片配置、校准与升级等工程细节,并结合实际调试经验梳理常见故障与排查思路,为嵌入式工程师提供一份可落地的光模块MCU开发指南。
【JAVA】位运算小结
1 简介 在JAVA中,位运算表达式是由操作数和位运算符组成,实现整数类型的二进制位运算。 位运算符可以分为移位运算符(包括>>、<<和>>>)及逻辑运算符(包括~、&、|和^)。 “有符号”右移位运算符(>>) 则将左边的运算对象向右移动右侧指定的位数。“有符号”右移位运算符使用了“符号扩展” 左移位运算符(<<)能将左边的对象...
Vue - 在纯 HTML 普通项目中实现组件化,让原生 html 项目支持引入 *.vue 组件 / 组件与组件间的互相引用等,完美解决了引入组件出现的跨域问题(保姆级详细教程,完整示例源码及插件)
html中使用vue组件,在HTML页面中引入vue组件,HTML界面利用http-vue-loader.js以组件方式引入vue文件,使用http-vue-loader引入组件出现报错,在html页面使用http-vue-loader插件引入组件报跨域错误,如何解决http-vue-loader引用组件时出现跨域问题,纯html原生web项目引入vue后如何实现组件引入,使用http-vue-loader插件控制台报错跨域,http-vue-loader跨域怎么办官方文档,html页面如何引入.vu
leetcode 位运算小结
leetcode 136 只出现一次的数字 给定一个非空整数数组,除了某个元素只出现一次以外,其余每个元素均出现两次。找出那个只出现了一次的元素。 说明: 你的算法应该具有线性时间复杂度。 你可以不使用额外空间来实现吗? 示例 1: 输入: [2,2,1] 输出: 1 示例2: 输入: [4,1,2,1,2] 输出: 4 解题思路: 异或的计算性质:2 ^ 3 ^ 2 ^...
保姆级YOLOv8改进 | 基于DWRSeg扩张式残差机制的小目标检测优化(附修改后的C2f与Bottleneck模块)
DWRSeg机制:通过动态权重调整和扩张卷积有效提升了小目标的检测能力。C2f和Bottleneck模块修改:通过集成DWRSeg模块,增强了特征提取和残差学习能力。实验结果:在多个应用场景中,改进后的YOLOv8展现了更高的检测精度,特别是在小目标检测中表现突出。
基于 YOLOv26 的陶瓷产品缺陷检测系统:智能视觉质检方案
本文提出了一种基于YOLOv26深度学习模型的陶瓷产品智能缺陷检测系统。该系统针对陶瓷生产中的裂纹、气泡、釉面缺陷等8类常见质量问题,采用YOLOv26目标检测算法实现高精度自动化检测。系统架构包含数据采集、预处理、YOLOv26检测和后处理四个模块,具有多类别分类、实时推理和强鲁棒性等技术优势。文章详细介绍了数据预处理与增强方法,并提供了Python代码实现示例。该方案可显著提升陶瓷产品质量检测效率,替代传统人工检测方式,为陶瓷制造业提供智能化质检解决方案。
位运算小结及位运算题目小练
按位与运算 &amp;amp; 按位与运算符”&amp;amp;”是双目运算符。其功能是参与运算的两数各对应的二进位相与。只有对应的两个二进位均为1时,结果位才为1,否则为0。参与运算的数以补码方式出现。 运算规则: 0 &amp;amp; 0 = 0 0 &amp;amp; 1 = 0 1 &amp;amp; 0 = 0 1 &amp;amp; 1 = 1 举例: 9(00001001) &a
STM32F407中文手册
STM32f407中文手册 本参考手册面向应用开发人员,提供有关使用 STM32F405xx/07xx、STM32F415xx/17xx、 STM32F42xxx 和 STM32F43xxx 微控制器存储器与外设的完整信息。STM32F405xx/07xx、STM32F415xx/17xx、STM32F42xxx 和 STM32F43xxx 构成一个微 控制器系列,各产品具有不同的存储器大小、封装和外设。有关订购信息以及器件的机械与电气特性,请参见数据手册。有关 ARM Cortex™-M4F 内核的信息,请参见《Cortex™-M4F 技术参考手册》。
Java位运算小结
位运算表达式由操作数和位运算符组成,实现对整数类型的二进制数进行位运算。位运算符可以分为逻辑运算符(包括~、&、|和^)及移位运算符(包括>>、<<和>>>)。1)左移位运算符(<<)能将运算符左边的运算对象向左移动运算符右侧指定的位数(在低位补0)。 2)“有符号”右移位运算符(>>)则将运算符左边的运算对象向右移动运算符右侧指定...
efm32 入门.pdf
本PDF共计22页,介绍的是操作驱动API,下载与否自己斟酌。
ET2012新版免狗免安装绿色软件
ET2012新版免狗免安祖昂绿色软件。,新界面,新视觉,
位运算用法小结
面试题 05.01. 插入主观想法是将N的第i到j位全部清0,然后或上M就可以了(0或 任何数等于本身)如何清空呢?用0&就行了。但要保证其他位不变,怎么办呢?&1就行了。比如我们要让1011000的第5位的1变为0,我们只需要1011000 & 1101111即可。而1101111可以由 10000 取反而来,10000又可以由1左移4位而来。k++)注意:二进制的表示中,是从0位开始数,与计算机的规则是一样的。所以左移x位就是x本事,不要去考虑+1,-1的问题。
常用位运算小结
在很多系统中长要求在位(bit)一级进行运算和处理。C语言提供了位运算的功能,这使得C语言也能像汇编语言一样用来编写系统程序。
java位运算小结
关于位运算符: 按位非~:0取1,1取0 符号位也参与位运算 位运算的结果求原码时要看符号位来求。 例1:~10 0000 0000 0000 0000 0000 0000 0000 1010 10的原码 0000 0000 0000 0000 0000 0000 0000 1010 10的反码 0000 0000 0000 0000 0000 0000 0000 1010 10的补码 1111 1111 1111 1111
Java 位运算小结
文章目录Java位运算符左移和右移应用场景-奇偶判断应用场景-两数交换 Java位运算符 &与: 两个二进制位只要有一个为0那么结果就为0,否则结果为1。 |或: 两个二进制位只要有一个为1那么结果就为1,否则结果为0。 ^异或: 任何相同二进制位进行 ^ 运算,结果是0;不相同二进制位 ^ 运算结果是1。 ~取反: 0变1,1变0 举个????: public class OperatorDemo9 { public static void main(String[] args) throws
位运算在算法中的应用小结
最近在刷LeetCode,接触到不少靠位运算提升算法效率的题目,这里刚好看到一篇关于位运算的总结,个人觉得挺完善的,这里翻译一下分享给大家,同时感谢一下LHearen大佬对位运算进行了详尽的总结。博客中统一用Python语言解释。 原文地址:https://leetcode.com/problems/sum-of-two-integers/discuss/84278/A-summary:-h...
434



被折叠的 条评论
为什么被折叠?



