n&(1<<i)用法

2023-05-16

1<<i 是将1左移i位,即第i位为1,其余位为0;

例如1<<2 则0001->0100

n&(1<<i)是将左移i位的1与n进行按位与,即为保留n的第i位,其余位置零

如果n第i位为0,则n&(1<<i)的值为0

否则不为0

常用if(n&(1<<i)==0)用于判断n的第i位是否为0

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

n&(1<<i)用法 的相关文章

随机推荐

  • (6)ROS与STM32之间的联系

    ROS与STM32之间的联系 简介两者之间的关系两者之间的通信ROS如何在代码层面去接收stm32发送过来的数据1 整体框架2 机器人底盘类3 构造函数4 主函数5 循环功能函数6 析构函数 简介 1 如何实现ROS与stm32之间的通信
  • keil 局部变量不能查看值,显示为not in scope

    关于编译器的优化 xff0c 参考网上的8051系列的说明如下 xff1a xfeff xfeff 0级优化 xff1a 1 常数折叠 xff1a 只要有可能 xff0c 编译器就执行将表达式化为常数数字的计算 xff0c 其中包括运行地址
  • 算法——均方根检波

    均方根检波 1 均方根检波技术2 高精度采样技术3 STM32的ADC4 程序工程文件 1 均方根检波技术 1 均值检波电路通常采用电容充放电电路作为平均值电路 2 由于输出为整流平均值 xff0c 要求电容充放电时间常数相等 3 电容充放
  • 二.LVGL学习——(lv_obj基础对象)

    二 LVGL学习 xff08 lv obj基础对象 xff09 1 介绍2 对象的工作机制3 对象的创建与删除4 Screen 屏幕对象5 实例代码 xff08 1 xff09 6 实例代码 xff08 2 xff09 1 介绍 LVGL是
  • 三.LVGL学习——(Buttons styles)

    三 LVGL学习 xff08 Buttons styles xff09 1 按钮对象样式 2 程序 定义三个lv style t变量 static lv style t style btn 按钮1按下前的样式变量 static lv sty
  • 51单片机串行通信原理

    51单片机串行通信原理 计算机通信串行通信异步通信同步通信数据传送速率传输方向 单片机串行口串行口特殊功能寄存器串行口控制寄存器SCON电源控制寄存器PCON 波特率的设定与计算 PC与多个单片机通信串口如何使用 计算机通信 计算机通信 x
  • 基于动态窗口法(DWA)的局部避障算法研究及MATALB的实现

    一 动态窗口法基本概念 1 1 速度采样空间 1 2 评价函数 二 基于Matlab的机器人局部避障仿真 一 动态窗口法基本概念 动态窗口方法 DynamicWindowApproach 是一种可以实现实时避障的局部规划算法 xff0c 通
  • ROS(python)如何实现1个节点同时订阅2个话题,并实现话题同步,调用同一个callback

    1 创建talker1 span class token comment usr bin env python span span class token comment license removed for brevity span s
  • java与c++的性能比较

    java与c 43 43 的性能比较 参考其他文章 一 从编译器的角度分析性能差异 许多程序员印象中可能认为c 43 43 相比较于java语言性能会更好一点 xff0c 运行速度会快一点 这其中主要是因为java刚出现的时候JIT编译技术
  • OO-数字串char*与数值int_double之间转换

    OO 数字串char 与数值int double之间转换 文章目录 OO 数字串char 与数值int double之间转换 一 任务描述二 TestCase 2 测试集 需要填空的代码源代码 xff08 可以复制在编译器里面自行调试 xf
  • Altium Designer 生成 BOM(Bill of Material)

    画好图后 xff0c 生成 BOM xff08 Bill of Material xff09 xff1a 1 选择 Reports xff08 报告 xff09 gt gt Bill of Materials 材料清单 2 选择BOM表表头
  • CAN总线协议:标准CAN和扩展CAN

    CAN通讯协议是一个载波侦听 基于报文优先级碰撞检测和仲裁 xff08 CSMA CD 43 AMP xff09 的多路访问协议 CSMA的意思是总线上的每一个节点在企图发送报文前 xff0c 必须要监听总线 xff0c 当总线处于空闲时
  • c++new操作符笔记

    c 43 43 new语句 功能 xff1a 堆区开辟一组数据 语法 xff1a new 数据类型 注意点 xff1a new创建的数据会返回该数据对应的类型指针 xff0c 另外堆区开辟的数据由程序员手动释放
  • 循环冗余校验

    循环冗余校验 xff08 CRC xff09 是一个错误检测码在数字常用网络和存储设备 xff0c 以检测到的原始数据的意外改变 进入这些系统的数据块将根据其内容的多项式除法运算的余数获得一个简短的校验值 在检索时 xff0c 将重复计算
  • 串口通讯(USART)

    对于通讯协议 xff0c 我们也以分层的方式来理解 xff0c 最基本的是把它分为物理层和协议层 物理层规定通讯系统中具有机械 电子功能部分的特性 xff0c 确保原始数据在物理媒体的传输 协议层主要规定通讯逻辑 xff0c 统一收发双方的
  • curl解析工具

    main span class token keyword package span span class token namespace com span class token punctuation span alone span c
  • c语言实现进制的转化

    编写一个函数实现数制的转换 xff0c 不用递归 xff0c 用数组实现 在主函数中输入一个十进制数 xff0c 输出相应的十六进制数 span class token macro property span class token dir
  • springboot项目多环境配置(详细步骤)

    说明 xff1a 使用springboot实现项目多环境配置 xff01 目录 一 application properties多环境配置二 application yaml多环境配置 一 application properties多环境
  • 二叉树递归遍历(C语言实现)

    span class token macro property span class token directive hash span span class token directive keyword include span spa
  • n&(1<<i)用法

    1 lt lt i 是将1左移i位 xff0c 即第i位为1 xff0c 其余位为0 xff1b 例如1 lt lt 2 则0001 gt 0100 n amp 1 lt lt i 是将左移i位的1与n进行按位与 xff0c 即为保留n的第