美文网首页
Java位运算符

Java位运算符

作者: yimt | 来源:发表于2017-03-16 21:28 被阅读0次

&与、|或、^异或、~取反、<<左移、>>右移、 >>>无符号右移

&:有0则0####

例:6&2
    6二进制:110
    2二进制:10
    110
    010
    010:结果
    6&2=2

|:有1则1####

例:6|2
    6二进制:110
    2二进制:10
    110
    010
    110:结果
    6&2=6

^:相同则0,不同则1####

例:6^2
    6二进制:110
    2二进制:10
    110
    010
    100:结果
    6&2=4

~:按位取反####

例:~6
    6二进制:110
    00000000 00000000 00000000 00000110
取反11111111 11111111 11111111 11111001补码运算取原码
  - 00000000 00000000 00000000 00000001
 反码11111111 11111111 11111111 11111000
 原码10000000 00000000 00000000 00000111
    10000000 00000000 00000000 00000111=-7
所以~6=-7

<<:左边最高位丢弃,右边补齐0

例:12<<1
        00000000 00000000 00000000 00001100
左移(0)0000000 0000000 0000000 00011000
        0000000 0000000 0000000 00011000=24
        12<<1=24;

>>:右移 最高位是0,左边补齐0;最高为是1,左边补齐1

例:12>>1
        00000000 00000000 00000000 00001100
右移     000000000 00000000 00000000 0000110(0)
         000000000 00000000 00000000 0000110=6
        12>>1=12;

>>>:无符号右移 无论最高位是0还是1,左边补齐0

例:12>>>1
        00000000 00000000 00000000 00001100
右移     000000000 00000000 00000000 0000110(0)
         000000000 00000000 00000000 0000110=6
        12>>>1=12;
   -12>>>1
    原码10000000 00000000 00000000 00001100
    反码11111111 11111111 11111111 11110011
    补码11111111 11111111 11111111 11110100
无符号右移01111111 11111111 11111111 11111010(0)
    01111111 11111111 11111111 11111010=2147483642
    -12>>>1=2147483642

原码、反码、补码:http://www.jianshu.com/p/a22d08bf525f

相关文章

  • python基础(四)----运算符

    一.算术运算符(基本同Java) 二.比较运算符(基本同Java) 三.赋值运算符(基本同Java) 四.位运算符...

  • java基础知识

    title: java基础知识tags: [java基础知识] 位运算符 java种的运算符有 “&”,“|”,“...

  • Java &、&&、|、||、^、<

    Java运算符大致分为逻辑运算符(&&,||,!)、算数运算符(+, -, *, / ,+=)、位运算符(^,|,...

  • Java各种&、&&、|、||、^、<<、>>、~、>>>等运算

    Java运算符大致分为逻辑运算符(&&,||,!)、算数运算符(+, -, *, / ,+=)、位运算符(^,|,...

  • 算法整理(1) 位运算相关

    运算符 位运算符用来对二进制位进行操作,Java中提供了如下的位运算符:位运算符中,除 ~ 以外,其余均为二元运算...

  • Kotlin 运算符、符号重载总结

    算数运算符 关系运算符 示例 逻辑运算符 位运算符 三目运算 Java Kotlin forEach、in 循环 ...

  • Java 位运算符

    https://java-er.com/blog/java-shit-operation/ Java位运算符(bi...

  • Java运算符

    Java的运算符,分为四类: 算数运算符、关系运算符、逻辑运算符、位运算符。 算数运算符(9):+ - * / %...

  • Java的运算符

    Java的运算符,分为四类: 算数运算符、关系运算符、逻辑运算符、位运算符。 算数运算符(9):+ - * / %...

  • JAVA位运算等运算符总结

    JAVA位运算等运算符总结 一、概述 运算符是一种“功能”符号,用以通知 Java 进行相关的运算。 Java 语...

网友评论

      本文标题:Java位运算符

      本文链接:https://www.haomeiwen.com/subject/bjhsnttx.html