资讯专栏INFORMATION COLUMN

Java运算符(位运算符)

wwolf / 1813人阅读

摘要:位运算符位运算指的是可以按照二进制,八进制,十六进制进行数据处理。在位运算之中,可以采用数据移位的处理方式实现一些数据的内容变化。位运算运算的两个数据位,如果有一个位为零结果就是零,全为时结果才是。

位运算符

位运算指的是可以按照二进制,八进制,十六进制进行数据处理。基本上考虑最多的还是二进制。在位运算之中,可以采用数据移位的处理方式实现一些数据的内容变化。
位运算实现的关键问题在于要进行十进制和二进制的转换,这种转换的原则是数据除2取余,一直除到余0为止,然后按照倒序排列。
知道了二进制的数据变化之后,我们就可以利用&(有一个0与的结果就是0),|(有一个1或的结果就是1)进行位的运算

public class Hello {
    public static void main(String args[]) {
        int numA = 19;
        int numB = 5;
        System.out.println(numA & numB);
    }
}
结果是1
19的二进制与5的二进制数进行与运算

public class Hello {
    public static void main(String args[]) {
        int numA = 19;
        int numB = 5;
        System.out.println(numA | numB);
    }
}
结果是23

位运算最大的特点是可以进行移位的处理

public class Hello {
    public static void main(String args[]) {
        int num = 2;
        System.out.println(num << 2);
    }
}
2的二进制向左移位,结果是8;
2的二进制 00000000 00000000 00000000 00000010;
移位处理  00000000 00000000 00000000 00001000;

八进制处理:

public class Hello {
    public static void main(String args[]) {
        int num = 023;
        System.out.println(num);
    }
}
结果是19

十六进制用0x。

面试题:请解释&&和&,|和||的区别?
在逻辑运算之中:
1.&&:表示逻辑与运算,如果前面有若干个条件返回了false,那么后面的条件将不再判断。最后结果就是false。
2.&:所有的判断条件都要执行。
3.||:表示逻辑或判断,若干个判断条件如果前面有条件返回了true,那么后续条件不再判断。最终结果就是true。
4.|:所有的条件都要判断。
位运算
&:运算的两个数据位,如果有一个位为零结果就是零,全为1时结果才是1。
|:运算的两个数据位,如果有一个位为1结果就是1。

欢迎加入学习交流群569772982,大家一起学习交流。

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/67675.html

相关文章

  • Java 数据类型和算符

    摘要:基本数据类型布尔类型或,占用位。强制类型转换强制类型转换的语法格式是,强制类型转换的运算符是圆括号。无符号右移运算符。对于低于类型如和的操作数总是先自动类型转换为类型后再移位。 注释 单行注释//......多行注释/ .../文档注释/*.../ 文档注释位于注释内容上一行 标识符和关键字 分隔符 分号:作为语句的分隔,每个Java语句必须使用分号作为结尾。花括号:定义一个代码...

    archieyang 评论0 收藏0
  • Java算符浅析

    摘要:在学习源码中,发现有大量使用位运算符,这样做的目的是为了节约内存开销和加快计算效率。位运算符,这个位代表这什么位二进制位简称位,是二进制记数系统中表示小于的整数的符号,一般用或表示,是具有相等概率的两种状态中的一种。 在学习源码中,发现有大量使用位运算符,这样做的目的是为了节约内存开销和加快计算效率。 位运算符,这个位代表这什么? 位:二进制位简称位,是二进制记数系统中表示小于2的整数...

    zhaofeihao 评论0 收藏0
  • 算符 java

    摘要:反码正数的反码就是本身。负数的反码是二进制保留符号位。作用是对运算符两側以二进制表达的操作符按位分别进行与运算。则完整的运算式为无符号右移一位。 java中对二进制的操作符 &、|、^、~、>>、>几个位操作符。不管是初始值是依照何种进制,都会换算成二进制进行位操作。接下来对这几种操作符进行一下简单的解说。 先说一下基础知识: 原码 就是当前数字的二进制表现形式,如-1的原码是1000...

    dreamGong 评论0 收藏0
  • Java编程基础02——Java语言基础

    摘要:所以就想把一大串缩短点,将二进制中的三位用一位表示。以可以大写也可以小写开头版本可以表示二进制了八进制的数据表现形式由组成。结果把系数基数的权次幂相加即可。因为语言采用的是码来编码的。 1_(常量的概述和使用)* A:什么是常量(constant) 在程序执行的过程中其值不可以发生改变 B:Java中常量的分类 字面值常量 自定义常量(面向对象部分讲) C:字面值常量的...

    pakolagij 评论0 收藏0
  • java学习笔记-运算

    摘要:位运算符位运算符与逻辑运算符类似,但是位运算符是对每一位进行计算。上面说到的按位取反加,就可以写成移位运算符右移与无符号右移相似,是将整数所有的位向右移动位,抛弃个低位。空出来的低位用的最高位值补全。 定点数据再计算机中的表示方法 例如一个整数类型(int)的数据在内存中占用了32位。通俗的讲就是在内存中挖了32个坑,每一个坑里可以放一个0或者1. 00000000 11111111 ...

    galaxy_robot 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<