当前所在位置:珠峰网资料 >> 计算机 >> 计算机等级考试 >> 正文
Java认证考试资格考试:位操作符总结
发布时间:2010/8/30 15:31:58 来源:城市学习网 编辑:ziteng
  以下是java位操作符的小总结,具体如下:
  二进制负数以它正值的补码形式表达
  补码:反码+1等于补码
  比如:System.out.println(Integer.toBinaryString(-5));
  打印:1111 1111 1111 1111 1111 1111 1111 1011  不用想了肯定是32位
  过程是这样的:
  一个负数,比如-5,它的二进制在java里面是这样表示
  1000 0000 0000 0000 0000 0000 0000 0101
  它的正值是:
  0000 0000 0000 0000 0000 0000 0000 0101
  反码是:
  1111 1111 1111 1111 1111 1111 1111 1010
  再加上1是:
  1111 1111 1111 1111 1111 1111 1111 1011
  即得到打印的内容
  java ~ 操作符,对每个二进制位的内容求反,即1变成0,0变成1
  测试负数:
  int a = -5;//101;
  System.out.println(~a);
  打印:4
  过程是这样的,首先表示出来这个负数
  1111 1111 1111 1111 1111 1111 1111 1011(上面已经提到为什么这样表示)
  各位取反得到
  0000 0000 0000 0000 0000 0000 0000 0100
  转为10进制得到4
  测试正数:
  int a = 5;//101;
  System.out.println(~a);
  打印:-6
  首先表示出来这个正数:
  0000 0000 0000 0000 0000 0000 0000 0101
  各位取反得到:
  1111 1111 1111 1111 1111 1111 1111 1010
  这个代表的就是-6了,至于为什么看最上面
  java & 操作符,对应的二进制位进行与操作,两个都为1才为1,其他情况均为0
  测试:
  System.out.println(5&6);
  打印:4
  过程:
  5表示成:0000 0000 0000 0000 0000 0000 0000 0101
  6表示成:0000 0000 0000 0000 0000 0000 0000 0110
  进行 & :0000 0000 0000 0000 0000 0000 0000 0100
  得到:4
  java | 操作符,对应的二进制位进行或操作,两个都为0才为0,其他情况均为1
  测试:
  System.out.println(5|6);
  打印:7
  过程:
  5表示成:0000 0000 0000 0000 0000 0000 0000 0101
  6表示成:0000 0000 0000 0000 0000 0000 0000 0110
  进行 | :0000 0000 0000 0000 0000 0000 0000 0111
  得到:7
  java ^ 操作符 当对应二进制位值相同,该位为0 否则为1
  测试:
  System.out.println(5^6);
  打印:3
  过程:
  5表示成:0000 0000 0000 0000 0000 0000 0000 0101
  6表示成:0000 0000 0000 0000 0000 0000 0000 0110
  进行 ^ :0000 0000 0000 0000 0000 0000 0000 0011
  得到:3
  java << 操作符,左边移动,右面填充0
  测试:
  System.out.println(5<<1);
  打印:10
  5表示成:0000 0000 0000 0000 0000 0000 0000 0101
  进行 <<1 操作:0000 0000 0000 0000 0000 0000 0000 1010
  java >> 操作符,左边移动,右面填充0
  测试:
  System.out.println(5>>>1);
  打印:2
  5表示成:0000 0000 0000 0000 0000 0000 0000 0101
  进行 >>>1 操作:0000 0000 0000 0000 0000 0000 0000 0010
  左移动一位相当乘以2 右移动一位相当处以2
广告合作:400-664-0084 全国热线:400-664-0084
Copyright 2010 - 2017 www.my8848.com 珠峰网 粤ICP备15066211号
珠峰网 版权所有 All Rights Reserved