本文章转自:
http://www.blogjava.net/rosen/archive/2005/08/12/9955.html
移位运算符
包括:
“>> 右移”;“<< 左移”;“>>> 无符号右移”
例子:
-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=3
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
分享到:
相关推荐
ReadTestquestion<br>7.5. 课程设计作业<br>第8章 日历记事本<br>8.1. 设计内容<br>8.2. 设计要求<br>8.3. 总体设计<br>8.4. 具体设计<br>8.4.1. 运行效果与程序发布<br>8.4.2. 主类CalendarPad<br>8.4.3. 记事本...
ReadTestquestion<br>7.5. 课程设计作业<br>第8章 日历记事本<br>8.1. 设计内容<br>8.2. 设计要求<br>8.3. 总体设计<br>8.4. 具体设计<br>8.4.1. 运行效果与程序发布<br>8.4.2. 主类CalendarPad<br>8.4.3. 记事本...
<font size="3"><font color="#ff0000">考试内容 <br /></font><strong>一、Java语言的特点和实现机制</strong><br /><br /><strong>二、Java体系结构</strong><br /><br />1.JDK目录结构。<br />2.Java的API结构...
<br>7.3.10 多列索引 <br>7.3.11 使用来自其他数据库引擎的列类型 <br>7.4 用在SELECT和WHERE子句的函数 <br>7.4.1 分组函数 <br>7.4.2 常用的算术运算 <br>7.4.3 位函数 <br>7.4.4 逻辑运算 <br>7.4.5 比较运算符 ...
异常处理在java中原理:<BR><BR><BR><BR><BR><BR><BR><BR><BR><BR>异常处理有Method调用者的调用者或者Method调用者来处理,<BR>9、 异常处理适用分别开发的组件系统<BR>10、 因为一些程序员使用不支持异常处理...
一、课程设计目的:<br>1. 学会Java程序开发的环境搭建与配置,并在实际运用中学习和掌握Java程序开发的全过程。<br>2. 进一步熟悉掌握Java程序设计语言的基础内容,如用户图形界面设计、Java多线程编程、Applet程序...
<td width="594" height="16" valign="top" background="/images/index_13.jpg"><script language='JavaScript' type='text/JavaScript' src='/Article/js/menu.js'></script> <script type='text/javascript' ...
<br><br><br><br><br>本程序由“城市WebClub”独立自主开发,你可以对整个商城的版面甚至版权作任意修改,但传播本程序时,请保留本站的说明文件。<br>因为开发一个系统真的很痛苦!由于时间和水平关系,本系统还有...
Java的位运算
一. 功能简介 <br><br>1. 在执行本程序时,能打开一个窗口编辑器。...<br>⑦在“工具”菜单中添加一个“计算器”菜单项,并实现一个计算器,该计算器除了能进行四则运算以外还可以实现复数运算功能。<br><br>
<br>3. 在该窗口中添加“文件”,“编辑”和“工具”三个菜单。<br>4. 在“文件”菜单中添加“打开”,“关闭”,“保存”,“退出”四个菜单项,分别实现他们的功能。<br>5. 在“编辑”菜单中添加“剪切”,...
6.成员变量和成员方法前加static的作用是什么? 7.using和new有什么区别? 8.如何理解面向对象的多态性?...9.有一个泛型类class List<T>{},则...C)List<T> t=new List<T>(); D)List<int> t=new List<int>();
<br><br>LF-Spy能够自动测试目标Java服务器的网络连接速度、MAC地址、服务器硬盘剩余空间、服务器运算能力、服务器的内存资源损耗、cpu占用率、硬盘大小、页面执行时间等参数。并提供服务器基本信息,服务器组件支持...
JAVA位运算.pdf ,深入了解java位运算
2: 可以修改运算符的性质,你可以使得3*3=6,只要将*的运算类指向expression.DAdd就可以了,具体如何操作,ReadMe中有说明.<br> 3:可以使操作符运算具有多种形态。您即可以用“+”表示加法运算,也可以用"加法&...
<br/>7.3.9 列索引 <br/>7.3.10 多列索引 <br/>7.3.11 使用来自其他数据库引擎的列类型 <br/>7.4 用在SELECT和WHERE子句的函数<br/>7.4.1 分组函数 <br/>7.4.2 常用的算术运算 <br/>7.4.3 位函数 <br/>7.4.4 逻辑...
2009年软件设计师考试大纲<软考> 一、考试说明 1.考试要求: (1) 掌握数据表示、算术和逻辑运算; (2) 掌握相关的应用数学、离散数学的基础知识; (3) 掌握计算机体系结构以及各主要部件的性能和基本工作...
学习java编程,位运算的课件不好找。赶快下啊,系统的有根据的,美!!
java位运算大全.doc