zoukankan      html  css  js  c++  java
  • 二进制运算

    一 引言

        最近在查看JDK1.8的源码,分析integer.java文件,发现用到一些位运算,遂网上了解一番。

    二 正文

     下面的a和b都是整数类型,则:

    含义Pascal语言C语言C#语言Java
    按位与 a and b a & b a & b a & b
    按位或 a or b a | b a | b a | b
    按位异或 a xor b a ^ b a ^ b a ^ b
    按位取反 not a ~a ~a ~a
    左移 a shl b a << b a << b a << b
    带符号右移 a shr b a >> b a >> b a >> b
    无符号右移       a>>> b

       例子:

     按位与 同符号

    0b00000000000000000000000000001011
    0B01111111111111111111111111111111
    0B00000000000000000000000000001011 OK


    按位与 不同符号
    0b00000000000000000000000000001011
    0B10000000000000000000000000000001
    0B00000000000000000000000000000001 OK 


    按位异或 同符号
    0b00000000000000000000000000001011
    0B01111111111111111111111111111111
    0B01111111111111111111111111110100 OK


    按位异或 不同符号
    0b00000000000000000000000000001011
    0B10000000000000000000000000000001
    0B10000000000000000000000000001010 OK


    按位取反 正整数
    0b00000000000000000000000000001011
    0b11111111111111111111111111110100 OK


    按位取反 负整数
    0B10000000000000000000000000000001
    0B01111111111111111111111111111110 OK


    左移2位 正数
    0b00000000000000000000000000001011
    0b00000000000000000000000000101100 OK


    左移2位 负整数
    0B10000000000000000000000000000001
    0B00000000000000000000000000000100 OK

  • 相关阅读:
    java源码之HashMap和HashTable的异同
    java源码之HashMap
    进制转换
    java基本数据类型及其包装类
    java实例化对象的五种方法
    20 栈的压入、弹出序列
    19 包含min函数的栈
    18 顺时针打印矩阵(记忆,常忘记)
    16 树的子结构(这题多复习)
    15合并两个排序的链表
  • 原文地址:https://www.cnblogs.com/knsbyoo/p/9032625.html
Copyright © 2011-2022 走看看