JAVA运算符
来源:互联网 发布:三国霸业4单机版源码 编辑:程序博客网 时间:2024/05/20 10:23
按位与运算符(&)
参加运算的两个数据,按二进位进行“与”运算。如果两个相应的二进位都为1,则该位的结果值为1,否则为0。即 0&0=0;0&1=0;1&0=0;1&1=1; 例如: 3&5 并不等于8,应该是按位与。 3 = 00000011 (&) 5 = 00000101 00000001 因此,3&5的值得1。如果参加&是负数运算的是负数(如-3 & -5),则以补码形式表示为二进制数,然后按位进行“与”运算。 按位与有一些特殊的用途: (1)清零:如果想将一个单元清零,即使其全部二进位为0,只要找一个二进制数,其中各个位符合以下条件:原来的数中为1的位,新数中相应位为0。然后使二者进行&运算,即可达到清零目的。 如:原有数为00101011,另找一个数,设它为10010100,它符合以上条件,即在原数为1的位置上,它的位值均为0。将两个数进行&运算: 00101011 (&)10010100 00000000 其道理是显然的。当然也可以不用10010100这个数而用其他数(如01000100)也可以,只要符合上述条件即可。 (2)取一个数中某些指定位。如有一个整数a(2个字节),想要其中的低字节。只需将a与(737)8按位与即可。 按位异或运算符(^) 参与运算的两个值,如果两个相应位相同,则结果为0,否则为1。即:0^0=0, 1^0=1, 0^1=1, 1^1=0 例如:10100001^00010001=10110000 0^0=0,0^1=1 0异或任何数=任何数 1^0=1,1^1=0 1异或任何数-任何数取反 任何数异或自己=把自己置0 (1)按位异或可以用来使某些特定的位翻转,如对数10100001的第2位和第3位翻转,可以将数与00000110进行按位异或运算。 10100001^00000110=10100111 //1010 0001 ^ 0x06 = 1010 0001 ^ 6 (2)通过按位异或运算,可以实现两个值的交换,而不必使用临时变量。例如交换两个整数a,b的值,可通过下列语句实现: a=a^b; //a=10100111 b=b^a; //b=10100001 a=a^b; //a=00000110 (3)异或运算符的特点是:数a两次异或同一个数b(a=a^b^b)仍然为原值a. 按位或运算符(|) 运算规则:0|0=0; 0|1=1; 1|0=1; 1|1=1; 取反运算符(~)
a=10100001,b=00000110
参加运算的两个对象,按二进制位进行“或”运算。
即 :参加运算的两个对象只要有一个为1,其值为1。
例如:3|5 即 0000 0011 | 0000 0101 = 0000 0111 因此,3|5的值得7。
另,负数按补码形式参加按位或运算。
“或运算”特殊作用:
(1)常用来对一个数据的某些位置1。
方法:找到一个数,对应X要置1的位,该数的对应位为1,其余位为零。此数与X相或可使X中的某些位置1。
例:将X=10100000的低4位置1 ,用 X | 0000 1111 = 1010 1111即可得到。
参加运算的一个数据,按二进制位进行“取反”运算。
运算规则:~1=0;~0=1; 即:对一个二进制数按位取反,即将0变1,1变0。
使一个数的最低位为零,可以表示为:a&~1。
~1的值为1111111111111110,再按“与”运算,最低位一定为0。因为“~”运算符的优先级比算术运算符、关系运算符、逻辑运算符和其他运算符都高。
- Java运算赋值运算符
- Java| Java 运算符
- Java位运算符
- java运算符
- java中的“%”运算符
- Java 位运算符
- Java 位运算符
- Java 位运算符
- Java 位运算符
- java 运算符优先级
- Java 位运算符
- java 运算符
- JAVA入门:运算符
- JAVA 运算符 >> >>> <<
- JAVA移位运算符
- Java 位运算符
- JAVA移位运算符
- java 运算符
- ArcGIS10.0操作之10—矢量化遇到的问题(The feature can not be created. The geometry is valid)
- 不需要进行大数据量的拷贝就可以进行数据传输
- Yamon startup分析(未整理四)
- Android系统添加全局快捷键的方法
- google,baidu,bing比较专业术语的搜索
- JAVA运算符
- 解决Android listview 设置item背景图片以后 当拉动listview的时候 整个listview变黑的解决办法
- Python编码规范
- java core (3) 反射机制
- 三维坐标点绕任意轴旋转的新坐标计算
- excel中数据导入到Orcale数据库表中的方法
- Altium Designer 10 DVD 完整版 精简版 破解 下载地址(含 115网盘 BT 电驴 迅雷)
- 【转】央行首发27家企业第三方支付牌照
- SAD立体匹配算法在opencv中的实现