博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
常见的位运算技巧总结(膜wys)
阅读量:5718 次
发布时间:2019-06-18

本文共 1257 字,大约阅读时间需要 4 分钟。

看了wys的论文,感觉获得了不少新姿势

这里总结一下

#include 
using namespace std;typedef unsigned int u32;inline u32 read_bit(u32 x, int pos){ return (x >> pos)&1;}inline u32 set_bit(u32 x, int pos){ return x | (1u << pos); }inline u32 clear_bit(u32 x, int pos){ return x & ~(1u << pos);}int cnt_table[1 << 16];void count_pre(){ cnt_table[0] = 0; for(int i = 0; i < 1<<16; i++){ cnt_table[i] = cnt_table[i >> 1] + (i & 1); }}inline int count(u32 x){ return cnt_table[x >> 16] + cnt_table[x & 65535u];}inline int count_trailing_zeros(u32 x){ int ret = 0; if(!(x & 65535u)) x >>= 16, ret |= 16; if(!(x & 255u)) x >>= 8, ret |= 8; if(!(x & 15u)) x >>= 4, ret |= 4; if(!(x & 3u)) x >>= 2, ret |= 2; if(!(x & 1u)) x >>= 1, ret |= 1; return ret + !x;}int clz_table[1 << 16];void clz_pre(){ clz_table[0] = 16; for(int i = 1; i < 1 << 16; i++){ clz_table[i] = clz_table[i >> 1] - 1; }}inline int count_learding_zero(u32 x){ return x >> 16 ? clz_table[x >> 16] : 16 + clz_table[x & 65535u];}inline u32 lowbit(u32 x){ return x & -x;}//ö¾Ù×Ó¼¯void subS(int S){ for(int i = S; i; i = (i-1)&S){ //do_something(i); }}int main() { return 0; }

 

转载于:https://www.cnblogs.com/Saurus/p/6536361.html

你可能感兴趣的文章
mysql--events_MySQL事件 Events
查看>>
java 静态检查_如何在Java中进行静态类型检查
查看>>
java判断是否包含特殊的字符_尝试检查字符串是否包含特殊字符或小写Java
查看>>
java如何使用多个布局管理器_多种布局管理器的使用
查看>>
java scanner类成员_【Java】 Scanner类的几个方法
查看>>
java水平线代码_HTML标题重要性与html水平线和注释
查看>>
jsp 按照学号查找学生_findByName.jsp
查看>>
mysql 百度地图 距离_通过百度地图API获取经纬度以及两点间距离
查看>>
Java添加新代码_关于java:decorator设计模式,用于向现有对象添加新方法和代码...
查看>>
java垃圾回收机制串行_细述 Java垃圾回收机制→Types of Java Garbage Collectors
查看>>
php mysql n 转义字符串_关于php:mysql真正的转义字符串 – 这是正常的吗?
查看>>
python mysql 监控工具_Python监视MySQL正在运行的SQL
查看>>
java中socket多线程通信_用Java实现多线程socket通信
查看>>
java dicom cmove_Dicom要点整理三:C-Find/C-Move/C-Store 几个重要概念
查看>>
java timer demo_java.util.Timer demo good
查看>>
微信小程序 php解密,微信小程序服务端获取用户解密信息的方法
查看>>
easyui java异步加载数据,EASYUI TREEGRID异步加载数据实现方法
查看>>
php 折扣计算,php 团购折扣计算公式
查看>>
eclipse 使用java doc,Javadoc在Eclipse中的使用
查看>>
PHP sg10,GitHub - jaleelzhang/sgphp
查看>>