3*2*2=12 0000-0000 0000-0000 0000-0000 0000-0011 向左移动两位,移动后往后面补上两个0,结果为0000-0000 0000-0000 0000-0000 0000-1100------>12,越移越大>> 右移其实就是除以2的移动位数次幂 3 ...
分类:
其他好文 时间:
2014-07-16 21:01:48
阅读次数:
165
1.6 Object Pascal 的运算符运算符是程序代码中对各种类型的数据进行计算的符号,通常分为算数运算符、逻辑运算符、比较运算符和按位运算符。1.算术运算符Object Pascal 语言的算术运算符,如表1-9 所示。表1-9 Object Pascal 语言算术运算符操作符操作操作数据类...
分类:
其他好文 时间:
2014-07-11 18:55:25
阅读次数:
213
在工作中遇到按位或组合权限串。一直不是特别明白。今天终于花了半个下午的时间搞明白其中的道理。首先每一个权限数都是2的N次方数如:k1=2 ; //添加 k2=4 ; //删除 k3=8; //修改 ...如此定义功能权限数,当需要组合权限时,就需要对各个所拥有的权限数按位或了。如: purview ...
分类:
其他好文 时间:
2014-07-11 10:17:30
阅读次数:
5829
题意: 给出n*m (1≤n、m≤11)的方格棋盘,用1*2的长方形骨牌不重叠地覆盖这个棋盘,求覆盖满的方案数。Solution: 位运算+状态压缩+dp 二进制数(####)代表填完一行后这一行的状态,填满的地方为1,未填的地方为0。 显然在填第i行时,能改变...
分类:
其他好文 时间:
2014-07-11 09:56:32
阅读次数:
170
知道降幂公式这题就很好办了 B>=Phi(c)的时候可以降幂然后快速幂计算,否则就直接快速幂计算。
这里的大数对小数取模直接利用取模性质按位取就行了。
//A^B %C=A^( B%phi(C)+phi(C) ) %C
#include
#include
#include
#include
#include
#include
using namespace std;
typedef _...
分类:
其他好文 时间:
2014-07-10 19:58:21
阅读次数:
217
常用的字符串Hash函数还有ELFHash,APHash等等,都是十分简单有效的方法。这些函数使用位运算使得每一个字符都对最后的函数值产生影响。另外还有以MD5和SHA1为代表的杂凑函数,这些函数几乎不可能找到碰撞。常用字符串哈希函数有BKDRHash,APHash,DJBHash,JSHash,R...
分类:
其他好文 时间:
2014-07-09 16:32:44
阅读次数:
132
不得不说这道题就是一道十分蛋疼的题,我本来想着对输入的整数K对1按位与运算,然后再将K向右移一位,循环这样做,知道K为0。
万万没想到,程序一直超时,莫名其妙,看讨论上说是因为这编译器高位补零,还能不能再坑一点。
import java.util.Scanner;
public class binarySystemOneNumber {
public static int findN...
分类:
其他好文 时间:
2014-07-09 10:49:38
阅读次数:
206
左移运算符(
基本用法
将一个运算对象的各二进制位全部左移若干位(左边的二进制位丢弃,右边补0)。
例:a = a
左移1位后a = a *2;
若左移时舍弃的高位不包含1,则每左移一位,相当于该数乘以2。
举例以及困惑
给出下面的程序,大家可以猜一猜结果是什么?
public class MainClass {
public static void main(String[...
分类:
编程语言 时间:
2014-07-09 10:44:30
阅读次数:
356
题目:构造n位01串,其中有m个1的所有组合。
分析:搜索、枚举。可以利用库函数,求解,也可以利用dfs求解;我这里采用位运算计算组合数。
说明:注意库啊!
#include
#include
#include
using namespace std;
int S[20];
int main()
{
int T,N,M;
while ( cin >> T )
for ( i...
分类:
其他好文 时间:
2014-07-08 11:24:33
阅读次数:
199
题目:给你p个LED组成的相同的显示器n个,每个显示器上显示一个符号(LED的p长度的01串)
问最少使用p位中的几个位,就能区分这n个不同符号,均不相同即可(其他位当做置0处理)
分析:搜索、枚举。从保留1位开始,一直搜索到p为,出现满足题意的解就退出,即可。
枚举采用位运算,提高效率。
说明:寻找相同的时候,先排序,再判断相邻的即可(n l...
分类:
其他好文 时间:
2014-07-08 11:16:05
阅读次数:
214