java位运算例子

/* 一共3个移位运算符,左移位<<,右移位>>和无符号移位>>>。左移位<<在低位处补0。右移位>>若值为正则在高位插入0,若值为负则在高位插入1。无符号右移位>>>无论正负都在高位处插入0。 非运算符~ &对两个整型操作数中对应位执行布尔代数,两个位都为1时输出1,否则0。 ^对两个整型操作数中对应位执行布尔代数,两个位相等0,不等1。 |对两个整型操作数中对应位执行布尔代数,两个位都为0时输出0,否则1。 */ public class weiyunsuan { public static void main(String[] args) { int a=-6;// 1111 1111 1111 1111 1111 1111 1111 1010 int b=3;// 0000 0000 0000 0000 0000 0000 0000 0011 int c=6; // 0000 0000 0000 0000 0000 0000 0000 0110 zuoyi(a, b);//-48 1111 1111 1111 1111 1111 1111 1101 0000 youyi(a, b);//-1 1111 1111 1111 1111 1111 1111 1111 1111 wufuhaoyouyi(a, b);//0001 1111 1111 1111 1111 1111 1111 1111 zuoyi(c, b);//48 0000 0000 0000 0000 0000 0000 0011 0000 youyi(c, b);//0 0000 0000 0000 0000 0000 0000 0000 0000 wufuhaoyouyi(c, b);//0000 0000 0000 0000 0000 0000 0000 0000 yu(a, b);//2 0000 0000 0000 0000 0000 0000 0000 0010 huo(a, b);//-5 1111 1111 1111 1111 1111 1111 1111 1011 fei(a);//5 0000 0000 0000 0000 0000 0000 0000 0101 yihuo(a, b);//-7 1111 1111 1111 1111 1111 1111 1111 1001 } public static void zuoyi(int a,int b){ System.out.println(a<<b); } public static void youyi(int a,int b){ System.out.println(a>>b); } public static void wufuhaoyouyi(int a,int b){ System.out.println(a>>>b); } public static void yu(int a,int b){ System.out.println(a&b); } public static void huo(int a,int b){ System.out.println(a|b); } public static void fei(int a){ System.out.println(~a); } public static void yihuo(int a,int b){ System.out.println(a^b); } }

你可能感兴趣的:(java,c,String,Class)