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

位运算基础用法

1.求一个数是不是2的幂

方法:对于大于0的数,求他的lowbit,看看是不是和这个数相等就行了。

class Solution {
public:bool isPowerOfTwo(int n) { return n > 0 && n == (n & (-n)); }
};

2.求一个数是不是3的幂(和位运算无关)

方法:纯取巧,找int范围内最大的3的幂,1162261467.

class Solution {
public:bool isPowerOfThree(int n) { return n > 0 && 1162261467 % n == 0; }
};

3.求>=n的最小的2的幂

int mi(int n)
{if (n <= 0){return 1;}n--; // 防止n本身就是2的幂n |= (n >> 1);n |= (n >> 2);n |= (n >> 4);n |= (n >> 8);n |= (n >> 16);return n + 1;
}

4.求[l,r]范围&的结果

如果l!=r,那么在二进制上来看,r最右侧的1一定留不下,所以减去,再判断,一直到l=r为止。

int yu(int l, int r)
{while (l < r){r -= (r & -r);}return r;
}

5.把一个数的二进制逆序

用分治的方法,先1对1的逆序,然后到2,4,6,8,16.

借用16进制,帮助实现逆序。

库函数写法:

class Solution {
public:int reverseBits(int n) {return __builtin_bitreverse32(n);}
};

直接实现:

class Solution {
public:int reverseBits(int n) {n = ((n & 0xaaaaaaaa) >> 1) | ((n & 0x55555555) << 1);n = ((n & 0xcccccccc) >> 2) | ((n & 0x33333333) << 2);n = ((n & 0xf0f0f0f0) >> 4) | ((n & 0x0f0f0f0f) << 4);n = ((n & 0xff00ff00) >> 8) | ((n & 0x00ff00ff) << 8);return (n >> 16) | (n << 16);}
};

6.计算一个数二进制中1的个数

有一种非常神奇的做法

public static int cntOnes(int n) {n = (n & 0x55555555) + ((n >>> 1) & 0x55555555);n = (n & 0x33333333) + ((n >>> 2) & 0x33333333);n = (n & 0x0f0f0f0f) + ((n >>> 4) & 0x0f0f0f0f);n = (n & 0x00ff00ff) + ((n >>> 8) & 0x00ff00ff);n = (n & 0x0000ffff) + ((n >>> 16) & 0x0000ffff);return n;}

然后也可以用内置函数

return __builtin_popcount(n);
__builtin_popocountll(n);//64位

其实还有不少内置函数

int a = __builtin_clz(n);//求32位二进制前导零个数a = __builtin_clzll(n);//64位a = __builtin_ctz(n);//32位二进制后导零的个数
http://www.jsqmd.com/news/428965/

相关文章:

  • 领英账号如何批量运营和养号,获得更多曝光
  • 企业该如何保护数据安全?这3款专业加密软件值得一试,2026整理推荐
  • 3.2 分布式训练:并行策略与 DeepSpeed 实践
  • 2026防水背衬板供货商优选榜:低价优质+厂家直销+工程家装定制防水背衬板供应商赋能建筑升级 - 品牌推荐大师1
  • 3.3 指令微调与高效微调:SFT、LoRA 与上下文扩展
  • 2026格栅天花厂家权威推荐榜:防火阻燃/防潮/定制化优质厂家+高性价比供应商全解析 - 品牌推荐大师1
  • 2026年评价高的悬挂吸音体供应商最新推荐权威榜:价格对比与降噪环保性能综合对比 - 品牌推荐大师1
  • 2026肉宝王优质厂家推荐,市场认可度高的几款,火锅底料/肉宝王/鸡精/餐饮配料/咸味香精/调味料,肉宝王公司有哪些 - 品牌推荐师
  • 2026年 望远镜厂家推荐排行榜,自准直望远镜,内调焦望远镜,平行光管,光学仪器,平光镜,平光仪,自准直仪,电动调焦望远镜公司精选 - 品牌企业推荐师(官方)
  • .md 编译了个人认知,什么来编译企业的认知?
  • 信创环境适配的 FTP 替代产品有哪些?
  • 如何找替代 FTP 软件?
  • Windows 11 市场份额飙升至 72%,但有一个重大的问题不能忽视
  • DeepSeek总结的duckdb markdown插件
  • 2026年 成都消防工程厂家推荐排行榜,消防施工/维保/改造/安装/检测,专业消防设施维护与新建工程服务商精选 - 品牌企业推荐师(官方)
  • 车窗夹紧力测试仪优质厂家推荐:2026实力榜,知名制造商+高口碑供应商全梳理 - 品牌推荐大师1
  • 新能源产线码农的日常:聊聊西门子S7-1500里的实战套路
  • 2026年 光学中心仪厂家推荐排行榜:透镜中心仪/光学中心仪/多功能中心仪/中心偏检查仪,精准测量与高效质检的工业之眼 - 品牌企业推荐师(官方)
  • 看2026国内EPDM企业排行,这几家脱颖而出,透水混凝土/EPDM/彩色混凝土/胶粘石,EPDM生产厂家有哪些 - 品牌推荐师
  • 实战指南:基于PyTorch与Hugging Face Transformers微调中文GPT-2进行诗歌生成
  • 2026年3月国内磷酸二氢铝厂商口碑好的推荐及排行信息,氧化铝粉/磷酸二氢铝/氧化铝空心球/白刚玉,磷酸二氢铝厂商推荐 - 品牌推荐师
  • 2026年 塑料袋厂家推荐排行榜,市场/方便/原料/彩印/水果专用/日用/超市/食品专用/环保购物/红蓝条/服装塑料袋,优质定制与环保创新之选 - 品牌企业推荐师(官方)
  • 【开题答辩全过程】以 高校迎新管理信息系统为例,包含答辩的问题和答案
  • MAF快速入门(18)Agent Skill 快速开始
  • 预制菜调味料市场新动态:2026年热门品牌揭晓,酒店调料/预制菜调味料/肉宝王/火锅底料,预制菜调味料生产厂家推荐排行榜 - 品牌推荐师
  • 2026多分量传感器品牌推荐及优质制造商排行榜:新测评精选高口碑厂商指南 - 品牌推荐大师1
  • 2026年 钢化视镜厂家推荐排行榜:高透明钢化视镜,方形/圆形钢化视镜,钢化硼硅视镜,专业耐压高透玻璃源头精选 - 品牌企业推荐师(官方)
  • 2026年高硼硅玻璃厂家推荐排行榜:耐热/耐压/铝硅/异型/钢化硼硅玻璃,3.3与4.0高硼硅玻璃专业实力深度解析 - 品牌企业推荐师(官方)
  • AIGC图像困局
  • 2026卫生高级职称哪个培训机构靠谱?选课指南+优质课程推荐 - 医考机构品牌测评专家