易截截图软件、单文件、免安装、纯绿色、仅160KB

java位操作符的总结


转自:http://www.itwis.com/html/java/j2se/20090223/3407.html
以下是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
测试:
Syst


相关文档:

Java中集合容器类List和Set的用法

List的用法
List包括List接口以及List接口的所有实现类。因为List接口实现了Collection接口,所以List接口拥有Collection接口提供的所有常用方法,又因为List是列表类型,所以List接口还提供了一些适合于自身的常用方法,如表1所示。
表1  List接口定义的常用方法及功能
从表1可以看出,List接口提供的适合于自身的 ......

java对String字符串对象的创建以及管理

(原创)深入研究java对String字符串对象的创建以及管理
(2008-9-27 bbh)
新手初学,不对的地方大家多多指教~
经常看到很多人讨论java中关于String的问题,我也就有点兴趣了,鉴于网上很多人写的都差别很大,
同样的问题都是不同的说法,我很迷糊,花了一晚上读了Java Virtual Machine Specification和
The Java Language Spec ......

运用加密技术保护Java源代码

运用加密技术保护Java源代码    
   
内容: 
 
一、为什么要加密? 
二、定制类装入器  

三、加密、解密 
四、应用实例 
五、注意事项 
参考资源 
Java程序的源代码很容易被别人
偷看。只要有一个反编译器,任何 ......

传智播客java培训 java基础之Pool

昨天有个朋友问我,学得会不,俺说学的会!
后来他又问我,他如果学的话,学的会学不会,俺说只要不笨蛋,把心思放在java上,就一定学的会!
时间一直过的都很快,每个人能把握的也只有今天,所以即使困难再多,只有此时此刻自己在不停的努力。
哪怕像蜗牛一样的前进,也一定有成功的一天,就怕自己放弃,怕自己没有信心 ......

【随笔】java 虚拟按键

import java.awt.Robot;
import java.io.IOException;
import java.lang.reflect.Field;
public class TestServer {
Class<?> key;
Robot ro;
{//非静态块用于初始化类类的非静态成员
try {
key = Class.forName("java.awt.event.KeyEvent");
ro = new Robot();
}
catch (Excep ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号