java位运算符的用法,java位逻辑运算符怎么运算

  java位运算符的用法,java位逻辑运算符怎么运算

  00-1010 1.(按位AND运算符)2。(按位OR运算符)3。(异或运算符)4。(左移运算符)5。(右移位运算符)6。~(反算符)7。(无符号右移位运算符)(1)正数无符号右移位(2)负数无符号右移位

  00-1010按位AND的运算规则是将两边的数字转换成二进制数,然后计算出最终值。运算规则是(只有两个为真为真):11=1,10=0,01=0,00=0。

  public class main { public static void main(string[]args){//按位AND,运算符两边的条件值会先转换成二进制,然后进行比较运算/* * 0011 * 0101 *-* 0001 */int a=35;/* * * 0 0 1 * 0 0 1 0 *-* 0 0 0 0 */int b=12;system . out . println(a);//1 system . out . println(b);//0 }}

  00-1010 按位或和按位与计算方法都是二进制转换和重算,不同的是运算规则(一为真,则为真):10=1,11=1,00=0,01=1。

  public class main { public static void main(string[]args){/ Bitwise OR,运算符两边的条件值会先转换成二进制,然后进行比较运算/* * 0 011 * 0 101 * - * 0 111 */int a=3。/* * * 0 0 1 * 0 0 1 0 *-* 0 0 1 1 */int b=1 2;system . out . println(a);//7 system . out . println(b);//3 }}

  顾名思义,00-1010异或运算符是不同的,它的运算规则是1 0=1,1 1=0,0 1=1,0 0=0。

  public class main { public static void main(string[]args){/* * * 0 0 1 1 * 0 1 0 1 *-* 0 1 1 0 */int a=3^5;/* * * 0 0 1 * 0 0 1 0 *-* 0 0 1 1 */int b=1^2;system . out . println(a);//6 system . out . println(b);//3 }}

  00-1010 52表示二进制位5左移两位,右加0。

  5的二进制位是0000 0101,即有效值101左移两位是0001 0100,正数左边第一位补0,负数补1,等于乘以2的n次方,十进制位是5 * 2 ^ 2=20。

  class main { public static void main(string[]args){/* * 52表示5的二进制位左移两位,右加0 * 00000101 * 000100 */system . out . println(52);//20 }}

  00-1010位运算符在后续处理之前将值转换为二进制。

  5的二进制位是0000 0101,右移两位意味着左移101到0000 001。正数左边第一位补0,负数补1,等于n次方除以2,结果是1。

  class main { public static void main(string[]args){/* * 52表示5的二进制位右移两位,左边加0 * 00000101 * 0000001 */system . out . println(52);//1 }}

  00-1010的逆表示1是0,0是1。

  5的二进制位是0000 0101,反转位是1111 1010,值是-6

  public class Main { public static void Main(String[]args){/* * * 0 0 0 0 1 0 1 *-* 1 1 1 1 1 0 1 0 1 0 * * 1、如果1 1 1 1 1 0 1 0要转换成负的十进制,因为最高位是1,所以先从11111001中减去1得到1111001 * 2,反相00010101,那么计算出00000100的十进制是6 * 3,所以1 1 1 1 0 1 0的十进制//-6 }}

  

目录

 

  00-1010无符号右移运算符和右移运算符的主要区别在于负数的计算,因为无符号右移是高位补0,移动多少位补0。

  5的二进制位是0000 1111,右移2位,结果是3。

  public class Main { public static void Main(String[]args){/* * * 0000 1111 *-* 0000 0011 */system . out . println(152);//3 }}

  00-1010-6的二进制是6加1的二进制反转,6的二进制是0000 0000 0000 0000 0000 0000 0110。反转后1111 1111 1111 1111 1111 1111 1111 1111 1010加1,右移三位。

  public class Main { public static void Main(String[]args){ system . out . println(-63);//536870911 }}

  

1. (按位与运算符)

本文到此为止。希望它能帮到你,也希望你能多关注更多的盛行它的内容!

 

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

留言与评论(共有 条评论)
   
验证码: