-
二进制的运算方式查看全部
-
java内置的进制转换查看全部
-
异或运算查看全部
-
右移运算:正补左0,负补左1查看全部
-
java中数据类型查看全部
-
jdk内置的进制转换查看全部
-
二进制转十进制查看全部
-
十进制转换二进制查看全部
-
位运算的几个应用: 1) 判断int型变量a是奇数还是偶数 a&1 = 0 偶数 a&1 = 1 奇数 2) 取int型变量a的第k位 (k=0,1,2……sizeof(int)),即a>>k&1 (先右移再与1) 3) 将int型变量a的第k位清0,即a=a&~(1<<k) (10000 取反后为00001 ) 4) 将int型变量a的第k位置1,即a=a(1<<k) 5) int型变量循环左移k次,即a=a<<ka>>16-k (设sizeof(int)=16) 6) int型变量a循环右移k次,即a=a>>ka<<16-k (设sizeof(int)=16) 7)对于一个数 x >= 0,判断是不是2的幂。 boolean power2(int x){return ( (x&(x-1))==0) && (x!=0);} (8)不用temp交换两个整数 void swap(int x , int y) {x ^= y;y ^= x;x ^= y;} (9)计算绝对值 int abs( int x ){int y ;y = x >> 31 ; return (x^y)-y ; //or: (x+y)^y } 10)取模运算转化成位运算 (在不产生溢出的情况下) a % (2^n) 等价于 a & (2^n - 1) 11)乘法运算转化成位运算 (在不产生溢出的情况下) a * (2^n) 等价于 a<< n 12)除法运算转化成位运算 (在不产生溢出的情况下) a / (2^n) 等价于 a>> n 例: 12/8 == 12>>3 13) a % 2 等价于 a & 1 14) if (x == a) x= b; else x= a; 等价于 x= a ^ b ^ x; 15) x 的 相反数 表示为 (~x+1) 16)输入2的n次方:1 << 19 17)乘除2的倍数:千万不要用乘除法,非常拖效率。只要知道左移1位就是乘以2,右移1位就是除以2就行了。比如要算25 * 4,用25 << 2就好啦 [ 收起全文 ]查看全部
-
Java内置的进制转换查看全部
-
原码 反码 补码查看全部
-
异或运算的用法查看全部
-
按位与的用法查看全部
-
常用进制换算查看全部
-
十进制转二进制查看全部
举报
0/150
提交
取消