如果你用十六进制来表示一个负数,比如说-3,而你又不确定你的表示方法是否错误
有一个很好的办法来验证你的表示是否有错误,就是打开Windows自带的计算器(运行输入CALC)
点击十进制,然后输入-3,最后点击十六进制,结果就出来了,如果你想表示的十六的,那么取结果的后面四位就行了,
如果是三十二位的取后面的8位就是了。
下面一个例子是用十六进制表示-3,然后对其进行无符号的右移操作,直到每一位二进制的1都移出去。
package cn.edu.wtu;
public class Operator {
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
int x=-0x0003;
int i=1,j=0;
while(x!=0){
x=x>>>(i);
System.out.println(Integer.toBinaryString(x)+"---->"+i+"----->"+(j++));
}
}
}