`
loky
  • 浏览: 180945 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

java逻辑运算

阅读更多
移位运算符

    包括:
    “>> 右移”;“<< 左移”;“>>> 无符号右移”

例子:
-5>>3=-1
1111 1111 1111 1111 1111 1111 1111 1011
1111 1111 1111 1111 1111 1111 1111 1111
其结果与 Math.floor((double)-5/(2*2*2)) 完全相同。

-5<<3=-40
1111 1111 1111 1111 1111 1111 1111 1011
1111 1111 1111 1111 1111 1111 1101 1000
其结果与 -5*2*2*2 完全相同。

5>>3=0
0000 0000 0000 0000 0000 0000 0000 0101
0000 0000 0000 0000 0000 0000 0000 0000
其结果与 5/(2*2*2) 完全相同。

5<<3=40
0000 0000 0000 0000 0000 0000 0000 0101
0000 0000 0000 0000 0000 0000 0010 1000
其结果与 5*2*2*2 完全相同。

-5>>>3=536870911     
1111 1111 1111 1111 1111 1111 1111 1011
0001 1111 1111 1111 1111 1111 1111 1111

无论正数、负数,它们的右移、左移、无符号右移 32 位都是其本身,比如 -5<<32=-5、-5>>32=-5、-5>>>32=-5。
一个有趣的现象是,把 1 左移 31 位再右移 31 位,其结果为 -1。
0000 0000 0000 0000 0000 0000 0000 0001
1000 0000 0000 0000 0000 0000 0000 0000
1111 1111 1111 1111 1111 1111 1111 1111


位逻辑运算符

    包括:
    & 与;| 或;~ 非(也叫做求反);^ 异或

    “& 与”、“| 或”、“~ 非”是基本逻辑运算,由此可以演变出“与非”、“或非”、“与或非”复合逻辑运算。“^ 异或”是一种特殊的逻辑运算,对它求反可以得到“同或”,所以“同或”逻辑也叫“异或非”逻辑。

例子:
5&3=1
0000 0000 0000 0000 0000 0000 0000 0101
0000 0000 0000 0000 0000 0000 0000 0011
0000 0000 0000 0000 0000 0000 0000 0001

-5&3=1
1111 1111 1111 1111 1111 1111 1111 1011
0000 0000 0000 0000 0000 0000 0000 0011
0000 0000 0000 0000 0000 0000 0000 0011

5|3=7
0000 0000 0000 0000 0000 0000 0000 0101
0000 0000 0000 0000 0000 0000 0000 0011
0000 0000 0000 0000 0000 0000 0000 0111

-5|3=-5
1111 1111 1111 1111 1111 1111 1111 1011
0000 0000 0000 0000 0000 0000 0000 0011
1111 1111 1111 1111 1111 1111 1111 1011

~5=-6
0000 0000 0000 0000 0000 0000 0000 0101
1111 1111 1111 1111 1111 1111 1111 1010

~-5=4
1111 1111 1111 1111 1111 1111 1111 1011
0000 0000 0000 0000 0000 0000 0000 0100

5^3=6
0000 0000 0000 0000 0000 0000 0000 0101
0000 0000 0000 0000 0000 0000 0000 0011
0000 0000 0000 0000 0000 0000 0000 0110

-5^3=-8
1111 1111 1111 1111 1111 1111 1111 1011
0000 0000 0000 0000 0000 0000 0000 0011
1111 1111 1111 1111 1111 1111 1111 1000



请注意!引用、转贴本文应注明原作者:Rosen Jiang 以及出处:http://www.blogjava.net/rosen

分享到:
评论

相关推荐

    能够实现逻辑运算(逻辑非、逻辑加、逻辑乘、逻辑异)、定点整数的单符号位补码加减运算、定点整数的原码一位乘法运算和浮点数的加减运算

    能够实现逻辑运算(逻辑非、逻辑加、逻辑乘、逻辑异)、定点整数的单符号位补码加减运算、定点整数的原码一位乘法运算和浮点数的加减运算。

    java实现的XP系统下自带的计算器,包括括号的实现,逻辑运算的实现、所有算数运算的实现等。科学性和标准型计算器都实现了。等

    总的来说,这个项目不仅涉及到了Java语言的基础语法和面向对象设计,还包括了数据结构(如栈)、算法(如表达式解析)、逻辑运算以及GUI编程等多个方面。通过这样的实践,开发者可以深入理解Java编程的各个方面,并...

    Java 逻辑运算符中&&与&,||与|的区别

    主要介绍了Java中&&与&,||与|的区别的相关资料,需要的朋友可以参考下

    Java位运算和逻辑运算的区别实例

    在Java编程语言中,位运算和逻辑运算都用于处理布尔值和整数,但它们在实际操作和行为上有着显著的差异。理解这些差异对于优化代码和深入理解计算机底层工作原理至关重要。 首先,我们来看看逻辑运算符。逻辑运算符...

    Java运算案例(算数运算+赋值运算+逻辑运算+关系运算+自增运算+自减运算+条件运算+位运算)

    在本案例中,我们将深入探讨八大类运算符:算数运算、赋值运算、逻辑运算、关系运算、自增运算、自减运算、条件运算以及位运算。这些运算符在编写Java代码时频繁使用,理解并熟练掌握它们对于编写高效、简洁的程序至...

    JAVA位运算.pdf

    ### JAVA位运算详解 在Java编程中,位运算是一门精细的艺术,涉及到对整数类型的二进制位进行直接操作。这些操作不仅能够优化代码执行效率,还常用于实现特定的算法需求。本文将深入探讨Java中的位运算,包括位...

    逻辑运算符

    为何这个代码输出结果是在同一行的呢?而书本却是两行。

    java表达式计算支持自定义运算

    Java表达式计算支持自定义运算是一项重要的编程功能,它允许开发者根据特定需求扩展语言的运算符集合,并定义这些运算符的行为。在Java中,我们可以通过创建自己的类和接口来实现这个功能,使得程序能处理更复杂的...

    android复习题题库

    Android复习题题库 ...这个文件中涵盖了Java基础、Java面向对象编程、Java异常处理、Android基础、Java数学运算、Java逻辑运算和Android数据存储等多个知识点,为Android开发提供了广泛的知识支持。

    java代码执行字符串中的逻辑运算方法

    Java代码执行字符串中的逻辑运算方法 Java是一种广泛应用的编程语言,字符串逻辑运算是Java编程中一个非常重要的方面。在实际应用中,我们经常需要对字符串进行逻辑运算,以满足业务需求。今天,我们将分享两种Java...

    java逻辑运算符

    在 Java 中,逻辑运算符的结合性是从左到右的,例如 a & b & c 首先计算 a & b,然后计算结果与 c 进行与运算。 在 Java 中,逻辑运算符的优先级是高于赋值运算符的,例如 a = b & c 首先计算 b & c,然后将结果...

    【IT十八掌徐培成】Java基础第02天-04.运算符-移位运算-逻辑运算.zip

    本资料主要讲解了Java中的运算符,特别是移位运算和逻辑运算,这两部分是理解数据处理和程序控制的关键。 首先,我们来探讨移位运算。Java支持三种类型的移位运算:左移(),右移(&gt;&gt;)和无符号右移(&gt;&gt;&gt;)。左...

    逻辑运算 (2).pdf

    布尔代数是描述和分析这些逻辑运算的基础数学工具,它提供了一种简化复杂逻辑表达式的方法。在计算机程序设计中,逻辑运算符(如C语言中的&&、||和!,或者Java和Pascal中的类似符号)用于条件判断和控制流程,例如在...

    Java编程的逻辑

    11. **Java标准库**:Java的类库包含大量预定义的类和方法,如数学运算、日期时间、网络通信等,熟悉并熟练使用这些工具能提升编程效率。 12. **Java开发工具**:Eclipse、IntelliJ IDEA等集成开发环境(IDE)提供...

    50道JAVA逻辑题

    "JAVA逻辑题知识点集合" 本资源摘要信息涵盖了50道JAVA逻辑题的知识点,涵盖了java基础知识、算法设计、数据结构、逻辑思维等方面。以下是每个程序的知识点总结: 【程序 1】:兔子问题的解决思路,了解数列的定义...

    java 与 script 进行交互的实现源码,逻辑表达式 判断表达式 运算

    java 与 script 进行交互的 实现源码,逻辑表达式 判断表达式 运算 等,含有测试方法,需要javax.script的jar包

    java 表达式运算器

    一个能够计算表达式的java程序,支持算术运算、逻辑运算 安装jdk后双击可执行,使用解压软件打开后可查看源代码。

    java二进制运算器(加、见、乘、除)

    每个函数内部可以使用位运算符和逻辑控制来实现对应的二进制运算。 9. **异常处理**: 在实际的运算过程中,可能会遇到除以0的情况,这在Java中会导致ArithmeticException。因此,需要在代码中添加适当的异常处理...

    Java运算,Java实例运算,面向基础.zip

    本压缩包“Java运算,Java实例运算,面向基础.zip”包含的“java_sunjing-master”项目可能是一个关于Java运算和实例的教程或者代码示例,旨在帮助初学者理解和掌握Java运算的基础知识。 在Java中,运算符大致可以...

Global site tag (gtag.js) - Google Analytics