7.4-位运算符

~ 位反    

&    位与运算

|    位或运算

^    位异运算    即1 0或0 1为true,0 0或1 1为flase

>>    有符号右位移    x>>a    x右移a位,高位用符号补齐

<<    有符号左位移    x<<a    x左移a位,低位用0补齐

>>>  无符号右位移    x>>>a  x不带符号右移a位,高位用0补齐

&= 即 a&=b, a=a&b

|=   即 a|=b, a=a|b

^=  即 a^=b, a=a^b

>>    <<    >>>同理

1、有符号的右位移相当于当前数除以2的n次方

2、左位移n,相当于当前数乘以2的n次方

3、无符号右位移,会导致数据不可靠


public class HelloWorld {

    public static void main(String[] args) {

        byte a = 0B00110010; //十进制50

        byte b = 0B01011110; //十进制94

        System.out.println("a | b = " + (a | b)); // 0B01111110

        System.out.println("a & b = " + (a & b)); // 0B00010010

        System.out.println("a ^ b = " + (a ^ b)); // 0B01101100

        System.out.println("~b = " + (~b)); // 0B10100001

        System.out.println("a >> 2 = " + (a >> 2)); // 0B00001100

        System.out.println("a >> 1 = " + (a >> 1)); // 0B00011001

        System.out.println("a >>> 2 = " + (a >>> 2)); // 0B00001100

        System.out.println("a << 2 = " + (a << 2)); // 0B11001000

        System.out.println("a << 1 = " + (a << 1)); // 0B01100100

        int c = -12;

        System.out.println("c >>> 2 = " + (c >>> 2));

        System.out.println("c >> 2 = " + (c >> 2));

}

}

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 【程序1】 题目:古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔...
    叶总韩阅读 5,152评论 0 41
  • 1. Java基础部分 基础部分的顺序:基本语法,类相关的语法,内部类的语法,继承相关的语法,异常的语法,线程的语...
    子非鱼_t_阅读 31,740评论 18 399
  • Java经典问题算法大全 /*【程序1】 题目:古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子...
    赵宇_阿特奇阅读 1,894评论 0 2
  • 晚上独自一人去看了电影《王牌特工二》,特工一我没有看过,所以在情节的衔接方面有一点空白。特工片依然是以打斗...
    jhjiane阅读 263评论 0 0
  • 判断真伪能力的缺失是陷入信息爆炸的现代人普遍面临的问题。不被愚弄,已经成为一种罕见的特质。不要过分痴迷花里胡哨的奇...
    考拉罗阅读 326评论 0 1