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)

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

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

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏PHP在线

简单PHP数组函数介绍

1.取数组第一个元素,使用$array[0]呢?还是reset($array); 分析:如果仅限于数值数组,对于一个大小为1的数组,将返回$array[0]。不...

36070
来自专栏iOS技术杂谈

Java8 Lambda表达式与Stream API (一):Lambda表达式你要知道的Java8 匿名内部类、函数式接口、lambda表达式与Stream API都在这里

你要知道的Java8 匿名内部类、函数式接口、lambda表达式与Stream API都在这里 转载请注明出处 https://cloud.tencent.co...

35380
来自专栏DannyHoo的专栏

为什么NSString要用Copy来修饰?

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/u010105969/article/details/...

19020
来自专栏积累沉淀

JVM指令集及各指令的详细使用说明

一、JVM指令助记符 1)操作数栈 变量到操作数栈:iload,iload_,lload,lload_,fload,fload_,dload,dload...

41890
来自专栏土豆专栏

Java面试之数据类型(一)

封装类是引用类型,基本类型在传递参数的时候都是按值传递,而封装类型是按引用传递的(其实引用也是按值传递的,但是传递的是对象的地址)

19420
来自专栏小樱的经验随笔

【Java学习笔记之七】java函数的语法规则总结

函数的概述 发现不断进行加法运算,为了提高代码的复用性,就把该功能独立封装成一段独立的小程序,当下次需要执行加法运算的时候,就可以直接调用这个段小程序即可,那么...

33760
来自专栏java初学

final关键字

392120
来自专栏老司机的技术博客

golang学习笔记5:字符串及相关函数

字符串是 UTF-8 字符的一个序列(当字符为 ASCII 码时则占用 1 个字节,其它字符根据需要占用 2-4 个字节)。UTF-8 是被广泛使用的编码格式,...

17030
来自专栏开源优测

[快学Python3]Dictionary(字典)

概述 Dictionnary(字典)是Python最常用的数据类型,它使用方括号{}来标识,其元素为key-value对应,key与value用冒号:分割开,下...

28370
来自专栏Bingo的深度学习杂货店

Q720 Longest Word in Dictionary

Given a list of strings words representing an English Dictionary, find the longe...

11830

扫码关注云+社区

领取腾讯云代金券