美文网首页
java 三种运算符理解

java 三种运算符理解

作者: Aiden_Wu | 来源:发表于2018-04-09 19:42 被阅读0次

>> : 右移运算符;低位移出,符号位不变

<< : 左移运算符;高位移出,符号位不变

>>> : 无符号右移;

先理解下原码、补码、反码;

举个栗子:

10

原码:0000 0000 0000 0000 0000 0000 0000 1010

补码:0000 0000 0000 0000 0000 0000 0000 1010

反码:0000 0000 0000 0000 0000 0000 0000 1010

正数的原码、补码、反码都一样

-10

原码:1000 0000 0000 0000 0000 0000 0000 1010

反码:1111 1111 1111 1111 1111 1111 1111 0101

补码:1111 1111 1111 1111 1111 1111 1111 0110

负数的原码:高位数为符号位1;反码则符号位不变,其他位取反,0 -> 1,1 ->0;

补码则是反码+1;

计算机都是补码来存储的;

10 << 1  左移一位 

0000 0000 0000 0000 0000 0000 0000 1010 把左边踢去一位,右边用0补齐;

0000 0000 0000 0000 0000 0000 0001 0100  十进制为20;

-10 << 1 左移一位 

1111 1111 1111 1111 1111 1111 1111 0110  符号位不变,把左边踢去一位,右边用0补齐;

1111 1111 1111 1111 1111 1111 1110 1100   十进制为-20;

10 >> 1  右移一位 

0000 0000 0000 0000 0000 0000 0000 1010 把右边踢去一位,左边用0补齐;

0000 0000 0000 0000 0000 0000 0000 0101  十进制为5;

-10 << 1 左移一位

1111 1111 1111 1111 1111 1111 1111 0110  符号位不变,把右边踢去一位,左边用0补齐;

1111 1111 1111 1111 1111 1111 1111 1011   十进制为-5;

而>>>比较特别无符号位,不管是正数负数,高位都用0补齐(符号位也变),正数>>>跟>>一样;负数则有区别;

-10 >>> 1 

1111 1111 1111 1111 1111 1111 1111 0110  把右边踢去一位,左边用0补齐;

0111 1111 1111 1111 1111 1111 1111 1011  下图分别输出:

相关文章

  • java中有三种移位运算符

    java中有三种移位运算符

  • java中有三种移位运算符 << : 左移运算符,num << 1,相当于num乘以2 : ...

  • hashmap中的一些小点(个人总结)

    capacity <<= 1: java中有三种移位运算符: // <<:左移运算符,num << 1,相当于n...

  • java 三种运算符理解

    >> : 右移运算符;低位移出,符号位不变 << : 左移运算符;高位移出,符号位不变 >>> : 无符号右移; ...

  • 图解java中的移位运算符<<,>>,&

    一. Java中的三种移位运算符<<,>>,>>>1. << 左移运算符,num<<1,相当于num乘以22. >...

  • 浅谈Java中移位运算符

    引言 Java中移位运算符一共有三种,<<(左移)、>>(右移)、>>>(无符号右移)。下面我分别介绍这三种移位运...

  • 2.5 逻辑运算符

    一、学习要求 书籍参考章节: 第3.5章 学习目标: 逻辑运算符 二、参考知识 在Java语言中有三种逻辑运算符,...

  • Java特殊符号>>,<<,>&g

    Java中有三种移位运算符 前面两个<<,>>容易理解一些,一般我们都可以直接得出结果,最后一个忽略符号位是什么意...

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

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

  • Kotlin——运算符和表达式

    与Java相同的运算符 Kotlin完全支持Java的运算符 Kotlin不支持Java的三目运算符——Kotli...

网友评论

      本文标题:java 三种运算符理解

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