当前位置:网站首页>位级运算之计算整数位级表示奇偶性
位级运算之计算整数位级表示奇偶性
2022-08-03 13:34:00 【Once_day】
位级运算之计算整数位级表示奇偶性
Author:Once day Date:2022年7月31日
漫漫长路刚刚开始,不要甘于平凡。
本算法基于C语言环境。
1.引言
可以只依靠基本的位级运算来计算位级表示的奇偶性。
如一个含有w位的向量 b n − 1 b n n − 2 ⋅ ⋅ ⋅ ⋅ ⋅ ⋅ b 1 b 0 b_{n-1}bn_{n-2}······b_1b_0 bn−1bnn−2⋅⋅⋅⋅⋅⋅b1b0。
如果其中有奇数个位为1,那么返回值1,否则返回0。
如,[0001]返回1,[0011]返回0。
那么存在一种对数增长度的算法,来计算其值,而且无需判断语句。
2.实现
最简单的实现方式就是依次判断每位是否为1,然后累积起来,判断是否为奇数个。这样效率太低。
可以依靠异或运算加速判断。
这里假设w=8位:
对于形如[01010111]的位级表示,其有奇数个1,所以应该返回1。
异或运算规律如下:
| 值 | 值 | 结果 |
|---|---|---|
| 0 | 0 | 0 |
| 0 | 1 | 1 |
| 1 | 1 | 0 |
因此,将[01010111]拆成两半,即[0101]和[0111],然后异或0101b ^ 0111b = 0010b,如果有一对1,那么该位异或结果为0,如果有一个1,那么结果为1。
对于[0010],则可以拆分成[00]和[10],按此规律继续异或,最终将为1。
根据配对规则,如果有奇数个1,那么最后异或一定剩下1,该算法是递归的,其复杂度为 l o g 2 w log_2w log2w。
可表示为:
unsigned x; //假设32位
x=x^(x>>16);
x=x^(x>>8);
x=x^(x>>4);
x=x^(x>>2);
x=x^(x>>1);
完…
边栏推荐
- An introduction to the width tool, deformation tool and lasso tool
- “芯片法案”通过后,美光承诺在美国扩产
- Nanoprobes Ni-NTA-Nanogold——用于 His 标签标记和检测
- 豪威集团发布新款5000万像素图像传感器OV50E
- How to make the history record time-stamped before
- HCIP-第十二天-MPLS+VNP
- MySQL知识总结 (十二) 数据库相关概念
- 【二叉树】从二叉树一个节点到另一个节点每一步的方向
- Jmeter use
- 第07章 InnoDB数据存储结构【2.索引及调优篇】【MySQL高级】
猜你喜欢

An introduction to the width tool, deformation tool and lasso tool
![[OpenCV] Cascade classifier training model](/img/37/ba57190d3515432700ec97ad14d0b9.png)
[OpenCV] Cascade classifier training model

HCIP第十五天笔记(企业网的三层架构、VLAN以及VLAN 的配置)

Basic principle of the bulk of the animation and shape the An animation tip point

细胞图像数据的主动学习

【深度学习中的激活函数的整理与使用总结】

scala安装包

保健用品行业B2B电子商务系统:供采交易全链路数字化,助推企业管理精细化

365天挑战LeetCode1000题——Day 048 有序队列 脑筋急转弯

设计思维 | 详看设计工作坊Workshop的11个关键技巧
随机推荐
An introduction to the camera
TensorFlow离线安装包
参数量仅0.5B,谷歌代码补全新方法将内部生产效率提升6%
Petri网-2、有向网
Hanyuan Hi-Tech G8032 standard ERPS ring network switch Gigabit 4 optical 10 electrical industrial Ethernet switch ring network + WEB management + SNMP VLAN planning
鸿湖万联扬帆富设备开发板正式合入OpenHarmony主干
Golang interface interface
c语言结构体知识总结
第07章 InnoDB数据存储结构【2.索引及调优篇】【MySQL高级】
网络数据集-骨干网和校园网-IP流量
Golang dictionary map
Jmeter use
软件测试考证:ISTQB、软件评测师
CVPR 2022 | 从人体网格预测骨架,是真正的生理学骨架!
HCIP第十五天笔记(企业网的三层架构、VLAN以及VLAN 的配置)
[A summary of the sorting and use of activation functions in deep learning]
typedef关键字的用法
[web penetration] detailed explanation of CSRF vulnerability
Golang 通道 channel
HCIP-第十二天-MPLS+VNP