移位运算符
包括:
“>> 右移”;“<< 左移”;“>>> 无符号右移”
例子:
-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位运算和逻辑运算的区别实例,请参考下面代码,希望对你有所帮助
主要介绍了Java中&&与&,||与|的区别的相关资料,需要的朋友可以参考下
Java运算案例包括算数运算、赋值运算、逻辑运算、关系运算、自增运算、自减运算、条件运算、位运算;
java实现的XP系统下自带的计算器 包括括号的实现 逻辑运算的实现 所有算数运算的实现等 科学性和标准型计算器都实现了 欢迎参考
为何这个代码输出结果是在同一行的呢?而书本却是两行。
java 与 script 进行交互的 实现源码,逻辑表达式 判断表达式 运算 等,含有测试方法,需要javax.script的jar包
一个能够计算表达式的java程序,支持算术运算、逻辑运算 安装jdk后双击可执行,使用解压软件打开后可查看源代码。
今天小编就为大家分享一篇java代码执行字符串中的逻辑运算方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
【IT十八掌徐培成】Java基础第02天-04.运算符-移位运算-逻辑运算.zip
位逻辑运算符有“与”(AND)、“或”(OR)、“异或(XOR )”、“非(NOT)”,分别用“&”、“|”、“^”、“~”表示,4-3 表显示了每个位逻辑运算的结果。在继续讨论之前,请记住位运算符应用于每个运算数内的每...
逻辑计算器是一种计算机设备,它能够执行逻辑运算。 ### 逻辑运算 逻辑运算是一种计算机科学中重要的运算方法。它包括布尔运算、逻辑门电路和真值表等。 ### 逻辑计算器的功能 逻辑计算器能够执行以下功能: - ...
java逻辑运算符 纤细的解释 代码例子
离散数学作业:JAVA实现集合(用HashSet实现)及其运算(交集,并集,差集,判断是否包含某元素等)
java版的等式表达式解析,不等式表达式解析,与或非逻辑运算表达式解析;支持带参数的表达式解析; 支持带函数的表达式解析。 1、支持 +、-、*、/、%、&&、||、!、>、<、>=、、==、!=、^(幂)、(、) 运算符 2、支持有...
逻辑运算符 &&、 ||、 ! 注意:逻辑计算支持短路操作 表达多个条件之间的关系。例如年龄大于等于18并且年龄小于65 &&:与运算,含义是两个条件必须同时成立,可以翻译为并且 ||:或运算,含义是两个条件中成立一个...
1 java起源 2 java语言概述 3 简单(基本)数据类型 4 运算符:java有四大类运算符:算数运算、位运算、关系运算和逻辑运算 5 程序控制语句 6 介绍类:类是java的核心和本质 7 深入方法和类:方法重载、参数传递和递归...
JAVA 程序设计是计算机专业本科生的必修专业主干课程,授课对象为计算 机科学与技术专业、数字媒体技术、信息安全专业等相关专业的本科生。 课程全面、系统地介绍 JAVA 语言的基本知识及程序设计技术,使学生掌握 ...
Day03:java 的移位和逻辑运算 Day04:java 的基本语句 Day05:java 的循环语句和方法数组介绍 Day06:java 的递归和二维数组介绍 Day07:java 的排序算法介绍 Day08:java 的面向对象基础 Day09:java 面向对象(二)...
java正则实现解析算术表达式 (仅限+-*/和括号)