java的位运算符详解实例

java的位运算符详解实例

ID:8966957

大小:28.50 KB

页数:4页

时间:2018-04-13

java的位运算符详解实例_第1页
java的位运算符详解实例_第2页
java的位运算符详解实例_第3页
java的位运算符详解实例_第4页
资源描述:

《java的位运算符详解实例》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库

1、与(&)、非(~)、或(

2、)、异或(^)位运算符主要针对二进制,它包括了:“与”、“非”、“或”、“异或”。从表面上看似乎有点像逻辑运算符,但逻辑运算符是针对两个关系运算符来进行逻辑运算,而位运算符主要针对两个二进制数的位进行逻辑运算。下面详细介绍每个位运算符。 1.与运算符与运算符用符号“&”表示,其使用规律如下:两个操作数中位都为1,结果才为1,否则结果为0,例如下面的程序段。publicclassdata13{publicstaticvoidmain(String[]args){inta=129;intb=128;Sys

3、tem.out.println("a和b与的结果是:"+(a&b));}}运行结果a和b与的结果是:128下面分析这个程序:“a”的值是129,转换成二进制就是10000001,而“b”的值是128,转换成二进制就是10000000。根据与运算符的运算规律,只有两个位都是1,结果才是1,可以知道结果就是10000000,即128。 2.或运算符或运算符用符号“

4、”表示,其运算规律如下:两个位只要有一个为1,那么结果就是1,否则就为0,下面看一个简单的例子。publicclassdata14{publicstaticvoidma

5、in(String[]args){inta=129;intb=128;System.out.println("a和b或的结果是:"+(a

6、b));}}运行结果a和b或的结果是:129下面分析这个程序段:a的值是129,转换成二进制就是10000001,而b的值是128,转换成二进制就是10000000,根据或运算符的运算规律,只有两个位有一个是1,结果才是1,可以知道结果就是10000001,即129。 3.非运算符非运算符用符号“~”表示,其运算规律如下:如果位为0,结果是1,如果位为1,结果是0,下面看一个简单例子。pub

7、licclassdata15{publicstaticvoidmain(String[]args){inta=2;System.out.println("a非的结果是:"+(~a));}} 4.异或运算符异或运算符是用符号“^”表示的,其运算规律是:两个操作数的位中,相同则结果为0,不同则结果为1。下面看一个简单的例子。publicclassdata16{publicstaticvoidmain(String[]args){inta=15;intb=2;System.out.println("a与b异或的结果是:"+(a^b)

8、);}}运行结果a与b异或的结果是:13分析上面的程序段:a的值是15,转换成二进制为1111,而b的值是2,转换成二进制为0010,根据异或的运算规律,可以得出其结果为1101即13。 左移位运算符>>、带符号的右移位运算符>>移位运算符也针对二进制的“位”,它主要包括:左移位运算符(<<)、右移位运算符(>>>)、带符号的右移位运算符(>>)。 1.左移运算符左移运算符用“<<”表示,是将运算符左边的对象,向左移动运算符右边指定的位数,并且在低位补零。其实,向左移n位,就相当于乘上2的n次方,例如下面的例子。publicc

9、lassdata17{publicstaticvoidmain(String[]args){inta=2;intb=2;System.out.println("a移位的结果是:"+(a<>>”表示,是将运算符左边的对象向右移动运算符右边指定的位数,并且在高位补0,

10、其实右移n位,就相当于除上2的n次方。publicclassdata18{publicstaticvoidmain(String[]args){inta=16;intb=2;System.out.println("a移位的结果是:"+(a>>>b));}}运行结果a移位的结果是:4分析上面的程序段:从本质上来分析,16的二进制是00010000,它向右移动2位,就变成了00000100,即4。如果从另一个角度来分析,它向右移动2位,其实就是除以2的2次方,结果还是4。 3.带符号的右移运算符带符号的右移运算符用符号“>>”表示

11、,是将运算符左边的运算对象,向右移动运算符右边指定的位数。如果是正数,在高位补零,如果是负数,则在高位补1,先看下面一个简单的例子。publicclassdata19{publicstaticvoidmain(String[]args){inta=16;intc=-16;in

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。