首页 / JAVA / java基础------运算符总结
java基础------运算符总结
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了java基础------运算符总结,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含2536字,纯文字阅读大概需要4分钟。
内容图文
![java基础------运算符总结](/upload/InfoBanner/zyjiaocheng/644/bdeafbbf23e04997af6cabb067465b82.jpg)
一. 与(&)运算: 同为1才为1
5 二进制 101
3 二进制 011
? ? 结果 001
二. 或(|)运算:有一个为1,则为1
5 二进制 101
3 二进制 011
? ? 结果 111
三.异或(^)运算:不相同则为1
5 二进制 101
3 二进制 011
? ? 结果 110
四. 左移(<<)运算 : 按二进制形式把所有的数字向左移动对应的位数,高位移出(舍弃),低位的空位补零。
3 << 2为例:
//3的2进制数
0000 0000 0000 0000 0000 0000 0000 0011
//3<<2 把该数字高位(左侧)的两个零移出,其他的数字都朝左平移2位,最后在低位(右侧)的两个空位补零
0000 0000 0000 0000 0000 0000 0000 1100
首先把3转换为二进制数字0000 0000 0000 0000 0000 0000 0000 0011,然后把该数字高位(左侧)的两个零移出,其他的数字都朝左平移2位,最后在低位(右侧)的两个空位补零。则得到的最终结果是0000 0000 0000 0000 0000 0000 0000 1100,则转换为十进制是12.
数学意义:在数字没有溢出的前提下,对于正数和负数,左移一位都相当于乘以2的1次方,左移n位就相当于乘以2的n次方。所以3 << 2 ,其实相当于 3* 2^2 = 12
五. 右移(>>)运算 : 按二进制形式把所有的数字向右移动对应移动位数,低位移出(舍弃),高位的空位补符号位,即正数补零,负数补1
以11 >> 2为例 :
//11的32位二进制形式
0000 0000 0000 0000 0000 0000 0000 1011
//11 >> 2,把低位的最后两个数字移出,因为该数字是正数,所以在高位补零
0000 0000 0000 0000 0000 0000 0000 0010
计算过程:11的二进制形式为:0000 0000 0000 0000 0000 0000 0000 1011,然后把低位的最后两个数字移出,因为该数字是正数,所以在高位补零。则得到的最终结果是0000 0000 0000 0000 0000 0000 0000 0010.转换为十进制是2.
数学意义:右移一位相当于除2,右移n位相当于除以2的n次方,正数舍,负数进 , 11>>2相当于 : 11 /2^2 = 11/4 = 2
补充: 负数的右移 -31>>3
1111 1111 1111 1111 1111 1111 1110 0001(-31)右移3位 ,把低位的最后三个数字移出(变成1110 0),因为该数字是负数,所以在高位补1(补三个1),
结果是111 1111 1111 1111 1111 1111 1111 1110 0(-4)。
对于负数的三十二位(int)二进制补充说明 : 二进制数分为有符号数和无符号数,有符号数里面才有正负之分。其中第一位为符号位,1代表负数,0代表正数。例如 4就是0000 0000 0000 0000 0000 0000 0000 0100,-4就是1111 1111 1111 1111 1111 1111 1111 1100 (从左边最后一个1开始算)
六 . 无符号右移(>>>)运算 : 按二进制形式把所有的数字向右移动对应移动位数,低位移出(舍弃),高位的空位补零,对于正数来说和带符号右移相同,对于负数来说不同。
如:15>>>2的结果是3,-31>>>3的结果是536870908,移出的部分将被抛弃:
同样转为二进制的形式,00000000 00000000 00000000 00001111(15)右移2位的结果是00000000 00000000 00000000 00000011(3),
1111 1111 1111 1111 1111 1111 1110 0001(-31的32位2进制数)右移3位的结果是000 1111 1111 1111 1111 1111 1111 1110 0(536870908)。
weixin_42232931 发布了32 篇原创文章 · 获赞 2 · 访问量 1288 私信 关注
内容总结
以上是互联网集市为您收集整理的java基础------运算符总结全部内容,希望文章能够帮你解决java基础------运算符总结所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。