专栏首页编码前线java中的运算 ^, << , >>,&

java中的运算 ^, << , >>,&

1.首先先说说^(异或运算),先看代码

public static void main(String[] args) {
    System.out.println("2^3运算的结果是 :"+(2^3));     //打印的结果是:2^3运算的结果是 :1}

那么这个1是怎么来的,我们要知道^、<<、>>等位运算符主要针对二进制,算异或的时候相同的为0,不同的为1 2转换成二进制是0010 3转换成二进制是0011 所以0010^0011的结果就是0001转换成十进制是1 ,所以2^3=1

2.<<向左位移,先看段代码

public static void main(String[] args) {
    System.out.println("2<<3运算的结果是 :"+(2<<3));    //2<<3运算的结果是 :16}

在运算的时候同样要把十进制转换成二进制, 2的二进制是0010 ,向左移3位后面用000不齐,结果是10000 二进制的10000转换成十进制是16(从右往左分别是1,2,4,8,16,32….) 3>>向右位移,代码如下

public static void main(String[] args) {
    System.out.println("2>>3运算的结果是 :"+(2>>3));    //2>>3运算的结果是 :0}

原理和左移是一样的,先转成二进制0010,再向右侧移动三位,向右侧移动的时候在左侧不齐0,移动几位不齐几位,移动后的二进制是0000 转成十进制就是0了。 4.&运算 按位“与”的计算是把两个数字分别写成二进制形式,然后按照每一位判断,&计算中,只要有一个是0就算成0 看下例子:System.out.println(1&2);打印0 , System.out.println(1&1);打印1 下面解释下原因 1的二进制为:0001 2的二进制为:0010 运算的结果为:0000 ->0 同理两个1的&运算的二进制结果为0001->结果为1

本文分享自微信公众号 - 编码前线(gh_acef1225aadd)

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2018-08-08

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • Java原生序列化和Kryo序列化性能比较

    最近几年,各种新的高效序列化方式层出不穷,不断刷新序列化性能的上限,最典型的包括:

    用户1205080
  • JAVA面试50讲之9:动态代理的原理是什么?

    关于Java中的动态代理,我们首先需要了解的是一种常用的设计模式—代理模式,而对于代理,根据创建代理类的时间点,又可以分为静态代理和动态代理。

    用户1205080
  • 将FFmpeg编译成一个libffmpeg.so库

    Note: 这个脚本不再需要修改Configure的内容(生成的是.a而不是.so,并没有涉及到版本号问题)

    用户1205080
  • python位运算的用法

    进制数应该都有了解过,我们平常使用的最多的就是10进制数,其实就是满十进一;进制数除了十进制,还有二进制,八进制,十六进制等。而在计算机中内部使用的就是二进制,...

    用户7054460
  • js或者php浮点数运算产生多位小数的理解

    image.png <?php $f = 0.58; var_dump(intval($f * 100)); //为啥输出57 ?>  首先我...

    smy
  • 【Keras】基于SegNet和U-Net的遥感图像语义分割

    上两个月参加了个比赛,做的是对遥感高清图像做语义分割,美其名曰“天空之眼”。这两周数据挖掘课期末project我们组选的课题也是遥感图像的语义分割,所以刚好又把...

    机器学习AI算法工程
  • 23种设计模式之——代理模式

    1、远程代理:也就是为一个对象在不同的地址空间提供局部代表。这样可以隐藏一个对象存在不同地址空间的事实。

    良月柒
  • 企业数驱文化探索:别止步于一群受过专门培训的分析师

    大数据文摘
  • 设计模式之七(代理模式)

    Subject类,定义了RealSubject和Proxy的共用接口,这样就在任何使用RealSubject的地方都可以使用Proxy。

    aehyok
  • 交易Transaction【区块链生存训练】

    日常生活中,我们每天都会与他人进行各种交易,对于“交易”这个概念感觉再熟悉不过了。比如:今天我去吃凉皮,支付给商家5元钱,非常简单吧,通常的交易记录可以是这样的...

    申龙斌

扫码关注云+社区

领取腾讯云代金券