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

  • 相关阅读:
    杭电OJ 输入输出练习汇总
    七月读书笔记
    情报分析报告阅读笔记
    情报研究与分析入门阅读笔记
    旁观者攻击
    域前置技术相关学习
    CC攻击和C2的区别
    DNS投毒学习分析总结
    数字证书2.0版本学习总结
    《在树洞里》-感悟
  • 原文地址:https://www.cnblogs.com/knsbyoo/p/9032625.html
Copyright © 2011-2022 走看看