java随机--移位运算

package com.eclipse.test;
public class TestTwo {
public static void main(String[] arg) {
int i=4; i<<=10; 
pr(i); i>>=11;
 pr(i);
}
public static void pr(Object str)
{System.out.println(str);
}
}
//4的二进制 29个0+100 向左移10位数(低位补0) 后的 二进制为 16个0+1000000000000 转换为十进制 第一个结果为 4096// 将4096的32位数向右移动11位 30个0+1//0 结果为2  第一个结果  4乘以2的10幂  第二个结果就是第一个结果除以2的11次幂
正数的补码等于源码 负数的补码等于反码加1  正数的左移低位补0  右移高位补  注意的一点是 在计算机中负数是已补码存在 所在计算 左移还是右移的时候一定要 把 计算的负数值先转换成补码 然后移动 移完之后在转换成 源码  

你可能感兴趣的:(java)