Java的位运算符详解实例.docxVIP

  1. 1、本文档共4页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
Java的位运算符详解实例

Java的位运算符详解实例——与()、非(~)、或(|)、异或(^)、带符号右移()、带符号左移()、无符号右移()1.与运算符与运算符用符号“”表示,其使用规律如下:两个操作数中位都为1,结果才为1,否则结果为0,例如下面的程序段。public class data13{public static void main(String[] args){int a=129;int b=128;System.out.println(a 和b 与的结果是:+(ab));}}运行结果a 和b 与的结果是:128下面分析这个程序:“a”的值是129,转换成二进制就而“b”的值是128,转换成二进制就根据与运算符的运算规律,只有两个位都是1,结果才是1,可以知道结果就即128。2.或运算符或运算符用符号“|”表示,其运算规律如下:两个位只要有一个为1,那么结果就是1,否则就为0,下面看一个简单的例子。public class data14{public static void main(String[] args){int a=129;int b=128;System.out.println(a 和b 或的结果是:+(a|b));}}运行结果a 和b 或的结果是:129下面分析这个程序段:a 的值是129,转换成二进制就而b 的值是128,转换成二进制就根据或运算符的运算规律,只有两个位有一个是1,结果才是1,可以知道结果就即129。?3.非运算符非运算符用符号“~”表示,其运算规律如下:如果位为0,结果是1,如果位为1,结果是0,下面看一个简单例子。public class data15{public static void main(String[] args){int a=2;System.out.println(a 非的结果是:+(~a));}}?4.异或运算符异或运算符是用符号“^”表示的,其运算规律是:两个操作数的位中,相同则结果为0,不同则结果为1。下面看一个简单的例子。public class data16{public static void main(String[] args){int a=15;int b=2;System.out.println(a 与 b 异或的结果是:+(a^b));}}运行结果a 与 b 异或的结果是:13分析上面的程序段:a 的值是15,转换成二进制为1111,而b 的值是2,转换成二进制为0010,根据异或的运算规律,可以得出其结果为1101 即13。5.带符号右移()? ? 表示不计算符号位于运算。正负数计算方式一样public?static?void?main(String[]?args)?{? ? ? ??System.out.println(41);//结果是2,4的二机制是100向右移1位二进制是10,二进制10就是2? ? ? ??System.out.println(-41);//结果是-4,负符号去掉,4的二机制是100向右移1位二进制是10,二进制10就是2,再加上负符号}6.带符号左移()public?static?void?main(String[]?args)?{? ? ? ??System.out.println(41);//结果是8,4的二机制是100向左移1位二进制是1000,二进制1000就是8????????System.out.println(-41);//结果是-4,负符号去掉,4的二机制是100向左移1位二进制是1000,二进制1000就是8,再加上负符号? ? ? ? }7.无符号右移()? ? 当位移数是正数和带符号右移()效果一样,当为负数的时候计算如下解释。? ??public?static?void?main(String[]?args)?{? ? ? ? System.out.println(-21);//结果是2147483647,-2的二进制是11111111111111111111111111111110(32位),向右移动一位变成01111111111111111111111111111111(32位)二进制,翻译十进制就是2147483647????????System.out.println(21);//结果是1,2的二机制是10向右移1位二进制是1,二进制1就是1? ? }

文档评论(0)

shenlan118 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档