zoukankan      html  css  js  c++  java
  • Java_按位与&,按位或,取反,左移,右移运算符

    //按位与运算&
    System.out.println(0&0);//0
    System.out.println(0&1);//0
    System.out.println(1&1);//1
    System.out.println("===========");
    //按位或运算符|
    System.out.println(0|0);//0
    System.out.println(0|1);//1
    System.out.println(1|1);//1
    System.out.println("===========");
    //异或运算符^
    System.out.println(0^0);//0
    System.out.println(0^1);//1
    System.out.println(1^1);//0
    System.out.println("===========");
    //取反运算符~
    //部分要点:
    //什么是取反:取反就是0=>1 1=>0
    //什么是补码:正数的补码是其反码,负数的补码为其反码+1,例5的二进制为0 0101,而0 0101的补码是1 1010,-5的二进制是1 0101,而1 0101的补码是1 1011 
    //什么是原码:规定正数的补码与原码相同,负数的原码是其反码+1
    //---------------------------------------------------------
    //6为正数,二进制为 0 0110 (第一个0代表正负)
    //然后计算补码,即1 1001
    //求原码,对后4位进行按位取反,即 1 0110
    //然后对二进制进行补码+1操作,即 1 0111
    //1010转成十进制为7,加上前面的负号,得-7
    //如6为正数,其二进制为110,取反后为001,补码右边+1为1010,原来6为正,取反为负,得-2
    //----------------------------------------------------------
    System.out.println(~6);//-7
    System.out.println(~42);//-43
    System.out.println("===========");
    //左移运算符<<(即向左移动,右边补0)
    //如2的二进制为10,若2<<2,则1000,也就是十进制8,同理若2<<3,则10000,也就是十进制16,根据规律可以看出n<<m=n*(2^m)
    System.out.println(15<<2);//60: 15*(2^2)
    //右移有符号运算符>>(即向右移动,但左边补0还是1需要看原来的数是正的还是负的)
    System.out.println(2>>2); //0(右边移除的数将被丢弃)
    System.out.println(-8>>3); //-1
    
  • 相关阅读:
    第五课 按键控制文本
    第四课:怎么去掉Activity的标题和邮件图标-20160705
    第三课:控件的使用及按键响应-20160705
    第二课:Android Studo 各文件作用-20160705
    第一课:如何创建Android Studo 工程-20160705
    JTAG各类接口针脚定义及含义
    c# 定时器的实现
    二进制及十进制文件的读写方法
    c# 检测设备改变
    Vue(四)事件和属性
  • 原文地址:https://www.cnblogs.com/eRrsr/p/6401881.html
Copyright © 2011-2022 走看看