在 redis 源码中 dictScan 算法中用到了用到了非常经典的二进制反转算法,该算法对二进制的反转高效而实用,同时对于理解位运算也有非常大的帮助。先呈现源码: /* Function to reverse bits. Algorithm from: * http://graphics.sta ...
分类:
编程语言 时间:
2019-11-11 09:14:06
阅读次数:
125
xor 证明: 0 xor 0=0 0 xor 1=1 1 xor 0=1 1 xor 1=0 0 xor 其它数,数值不会改变1 xor 其它数,数值会反转 所以x个数0和y个数1进行xor运算(0,1位置任意),值为y % 1 x xor y ,在二进制下是每位单独进行xor运算(若x,y位数不 ...
分类:
其他好文 时间:
2017-03-17 14:28:53
阅读次数:
123
输入n个数,请将其中的偶数的二进制反转。eg:输入165其中6是偶数,二进制表示为110,反转后为011,代表3,所以最终输出135.#define_CRT_SECURE_NO_WARNINGS1
#include<iostream>
usingnamespacestd;
#include<assert.h>
voidReverse(int*&array,intindex,ints..
分类:
其他好文 时间:
2016-07-04 12:10:06
阅读次数:
177
#include<stdio.h>
#include<stdlib.h>
unsignedintreverse_bit(unsignedx)
{
unsignedinta;
unsignedintb=1,i,t;
a=n&b;//按位或
for(i=0;i<31;i++)
{
a<<=1;//左移
n>>=1;//右移
t=n&b;
a=a|t;
}
returna;//返回反转后的数
}
intmain()
{..
分类:
其他好文 时间:
2015-10-25 22:46:03
阅读次数:
260
//本人暂时还是一名初级程序员,在编程方面还有很多欠缺,文采也有限,写得不好的地方勿喷! byte[] bytearray=System.Text.Encodig.UTF8.GetBytes("字符串");//转换后的为byte类型的二进制数组如:byte[0] 229 byte[1] 175......
分类:
其他好文 时间:
2015-06-16 12:22:09
阅读次数:
155
Reverse bits of a given 32 bits unsigned integer.
For example, given input 43261596 (represented in binary as 00000010100101000001111010011100), return 964176192 (represented in binary as 001110010...
分类:
其他好文 时间:
2015-05-12 09:26:02
阅读次数:
126
http://poj.org/problem?id=2155
上午自己搞了很久胡思乱想了很久,然后没思路-----看了论文《浅谈信息学竞赛中的“0”和“1”——二进制思想在信息学竞赛中的应用》,豁然开朗啊,,马上A掉---PE了一次o(╯□╰)o
通过论文学到的两点:
1、多维不会的时候,从一维尝试类比;
2、想法的证明,情况数不多的时候,分类讨论证明很好
#includ...
分类:
其他好文 时间:
2014-08-13 19:05:27
阅读次数:
153
先贴自己类比二维树状数组写的三维树状数组模板: 开始的时候循环体内j=y,k=z,没写,以为自己思路错了,,,hehe.....
更高维的树状数组以此类比
const int MAXN = 100+10;
int c[MAXN][MAXN][MAXN];int X,Y,Z;
int N;
inline int lowbit(int x){return x&(-x);}
void up...
分类:
其他好文 时间:
2014-08-13 19:00:37
阅读次数:
189