zoukankan      html  css  js  c++  java
  • java位运算符

      位运算符分为&(按位与)、|(按位或)、^(按位异或)、~(取反)、<<(向左移位)、>>(向右移位)、>>>(无符号右移).

    1、&(按位与),将按位与左右的数字转化成二进制进行与操作,相同位全是1才返回1,否则返回0;

    例如:9&7=1

    00001001(9的二进制)

    &

    00000111(7的二进制)

    ——————————

    =00000001(1的二进制)

    2、|(按位或),将按位或左右的数字转为成二进制进行或操作,规则:相同位只要有1个为1就返回1,否则返回0;

    例如:9|7=15

    00001001(9的二进制)

    |

    00000111(7的二进制)

    ——————————

    00001111(15的二进制)

    3、^(按位异或),将按位异或左右的数字转化为二进制进行异或操作,规则:相同位只有相异才返回1,否则返回0;

    例如:9|7=14

    00001001(9的二进制)

    ^

    00000111(7的二进制)

    ——————————

    00001110(14的二进制)

    4、~(取反),将该数字的二进制0和1对换;

    例如:~(9)=196

    ~(00001001)=11110110

    5、<<(向左移位),把数字转化的二进制数向左移动相应的位数,高位舍弃,地位补0;

    例如:int i=3;

    i=<<3;输出结果为:24;向左移的位数相当于:数字乘以2的n次方(n:移动的位数)

    00000011

    <<

    ——————

    00011000(24的二进制)

    6、>>(向右移位),把数字转化的二进制数向右移动相应的位数,符号位跟随移动,当为正数时,最高位补0,当为负数时,最高位补1;

    例如:int i=9;

    i=<<3;输出结果为:1;向左移的位数相当于:数字除以2的n次方(n:移动的位数)  ps:如果除之后是小数,则取整数部分最为结果

    00001001

    >>

    ——————

    0000001(1的二进制)

    7、>>>(无符号位右移),忽略符号位的扩展,高位始终补0,其他正常右移位即可;

    人的价值体现在不可替代性上
  • 相关阅读:
    Bootstrap组件福利篇 网址
    <a>标签中的href="javascript:;"
    HTTP请求上下文之终结:HttpContext类
    数据库分离 附加 sqlserver
    C#中三层架构UI、BLL、DAL、Model实际操作(转)
    比较好的网上的sqlserver读书笔记
    ORACLE重建索引详解
    SQL Server遍历表的几种方法(转)
    提高数据库操作的效率(转)
    哈希表Hashtable与字典表Dictionary<K,V>的比较。
  • 原文地址:https://www.cnblogs.com/zxg0822/p/10384182.html
Copyright © 2011-2022 走看看