右移相当于除2,除不尽怎么办?
class   Test 
 { 
 	public   static   void   main(String   args[]) 
 	{ 
 		int   i=-3; 
 		System.out.println(Integer.toBinaryString(i < <1)); 
 		System.out.println(Integer.toBinaryString(i*2)); 
 		System.out.println(Integer.toBinaryString(i> > 1)); 
 		System.out.println(Integer.toBinaryString(i/2)); 
 	} 
 }
------解决方案--------------------右移相当于除2取整
------解决方案--------------------你应该关注一下整除
------解决方案--------------------补0 
 是整除
------解决方案--------------------想想十进制   
 54321,右移一位是5432,想当于带除10
------解决方案--------------------对于负数,是不一样的。   
 System.out.println(Integer.toBinaryString(-3)); 
 System.out.println(Integer.toBinaryString(-3> > 1)); 
 System.out.println(Integer.toBinaryString(-3/2)); 
 System.out.println(Integer.toBinaryString(-1));   
 输出是:   
 11111111111111111111111111111101 
 11111111111111111111111111111110 
 11111111111111111111111111111111 
 11111111111111111111111111111111   
 发现问题没有? 
 第一行输出是-3 
 第二行输出是-3右移一位,由于是负数,高位补1 
 第四行输出是-1 
 而第三行输出跟第四行输出一样,说明什么?这就说明是输出的是-(3/2),即-1   
 明白?