位运算属于基础,这里总结一下。若用到位运算,基本是涉及到数据的巧妙操作的地方。 本文讲述的位运算有: 左移,右移,位与,或,取反,异或。 移位 对于一个数来说,它所在的位置决定了该数所代表的大小,即位权。权重越大,代表的数越大。对于二进制的数来说,不同位上的1表示的数相差倍数为2^n。那...
分类:
其他好文 时间:
2015-09-26 00:15:53
阅读次数:
200
SQLite运算符SQLite 运算符是什么?运算符是一个保留字或字符,主要用于 SQLite 语句的 WHERE 子句中执行操作,如比较和算术运算。运算符用于指定 SQLite 语句中的条件,并在语句中连接多个条件。算术运算符比较运算符逻辑运算符位运算符SQLite 算术运算符假设变量 a=10,...
分类:
数据库 时间:
2015-09-25 20:02:52
阅读次数:
336
除了基本运算符之外,Swift还支持位运算和位移运算,包括:1,按位取反运算:操作符是 ~2,按位与运算:操作符是 &3,按位或运算:操作符是 |4,按位异或运算:操作符是 ^5,按位左移/右移运算:操作符是 >
分类:
编程语言 时间:
2015-09-25 18:21:40
阅读次数:
129
1、十六机制和八进制一个十六进制数对应4个二进制位,十六进制数以0x开头。一个八进制对应3个二进制位,八进制数以0开头。2、原码和补码计算机在内存中是以补码的形式来存储数值的,正数的补码就是其原码本身,负数的补码是其原码取反加1,另外,对于有符号数,最高位0表示正数,最高位1表示负数。3、位运算左移...
分类:
编程语言 时间:
2015-09-24 14:24:18
阅读次数:
184
设变量 a = 1, b = 2, 我们要交换两个变量的值, 当用异或交换两个值的时候会有一个小问题用位运算大概是这个样子的 1 #include 2 3 using namespace std; 4 5 void swap(int& a, int &b) { 6 a ^= b; 7 ...
分类:
其他好文 时间:
2015-09-24 02:02:52
阅读次数:
209
这篇文章节选自《java performance》,对java性能比较关心的同学大概都知道这本书,性能这个东西可能是很多同学在日常写java code的时候很少去关心的,但是在我们写code的过程中确又时时离不开对程序性能的影响,小到我们使用位运算来实现算术运算,大到我们对JAVA代码的总体架构设计...
分类:
编程语言 时间:
2015-09-23 13:30:16
阅读次数:
171
代码: 1 #include 2 3 int add(int a, int b) { 4 if(a == 0 || b == 0) { 5 return a ^ b; 6 } 7 return add( (a&b) >= 1;25 }26 ...
分类:
其他好文 时间:
2015-09-23 10:23:08
阅读次数:
104
题意:给定n个数,从中分别取出0个,1个,2个...n个,并把他们异或起来,求大于m个总的取法。思路:dp,背包思想,考虑第i个数,取或者不取,dp[i][j]表示在第i个数时,异或值为j的所有取法。dp[i][j] = dp[i - 1][j] + dp[i - 1][j ^ a[i]]);其中d...
分类:
移动开发 时间:
2015-09-22 23:19:31
阅读次数:
219
首先,移位运算符有三种,其操作类型只支持:byte / short / char / int和long五种。> 右移运算符,二进制数据向右移动*位,就在其二进制数据后抹掉几位?(这里还不错定,但个人理解是这样的)(等同于除2的n次方)>>> 无符号右移运算符,不管移动前最高位是0还是1,右移后左侧产...
分类:
编程语言 时间:
2015-09-21 17:13:31
阅读次数:
160
public static int multiple(int a,int b) { int result=0; int c=0; while(b!=0) { if((b&0x01)==1) ...
分类:
其他好文 时间:
2015-09-21 11:47:27
阅读次数:
80