java中的移位运算符:<<,>>,>>>总结
2017-09-11 18:30
281 查看
/*
* <<:左移 左边最高位丢弃,右边补齐0
* >>:右移 最高位是0,左边补齐0,;最高位是1,左边补齐1
* >>>:无符号右移 无论最高位是0还是1,左边补齐0
*
*/
public class Demo4 {
public static void main(String[] args) {
//<<把<<左边的数据乘以2的移动数的次幂
System.out.println(3<<2);//3*2^2 = 12
//<<把<<左边的数据除以2的移动数的次幂
System.out.println(12>>2);//12/2^2 = 3
System.out.println(-24>>>2); //1073741818
}
}
/* >>>的计算
* 计算出24的二进制:11000
* 原码:10000000 00000000 00000000 00011000
* 反码:11111111 11111111 11111111 11100111
* 补码:11111111 11111111 11111111 11101000
*
* 11111111 11111111 11111111 11101000
* 0011111111 11111111 11111111 111010(00)
*
* 结果为:1073741818
*
*
*/
* <<:左移 左边最高位丢弃,右边补齐0
* >>:右移 最高位是0,左边补齐0,;最高位是1,左边补齐1
* >>>:无符号右移 无论最高位是0还是1,左边补齐0
*
*/
public class Demo4 {
public static void main(String[] args) {
//<<把<<左边的数据乘以2的移动数的次幂
System.out.println(3<<2);//3*2^2 = 12
//<<把<<左边的数据除以2的移动数的次幂
System.out.println(12>>2);//12/2^2 = 3
System.out.println(-24>>>2); //1073741818
}
}
/* >>>的计算
* 计算出24的二进制:11000
* 原码:10000000 00000000 00000000 00011000
* 反码:11111111 11111111 11111111 11100111
* 补码:11111111 11111111 11111111 11101000
*
* 11111111 11111111 11111111 11101000
* 0011111111 11111111 11111111 111010(00)
*
* 结果为:1073741818
*
*
*/
相关文章推荐
- java中的移位运算符:<<,>>,>>>总结
- java中的移位运算符:<<,>>,>>>总结
- java中的移位运算符:<<,>>,>>>总结
- java中的移位运算符:<<,>>,>>>总结
- java中的移位运算符:<<,>>,>>>总结
- java中的移位运算符:<<,>>,>>>总结
- java中的移位运算符:<<,>>,>>>总结
- java中的移位运算符:<<,>>,>>>总结
- java中的移位运算符:<<,>>,>>>总结(转)
- java中的移位运算符:<<,>>,>>>总结
- java中的移位运算符:<<,>>,>>>总结
- java中的移位运算符:<<,>>,>>>总结
- java中的移位运算符:<<,>>,>>>总结
- java中的移位运算符:<<,>>,>>>总结
- java移位运算符:<<(左移)、>>(带符号右移)和>>>(无符号右移)。
- java中的移位运算符:<<,>>,>>>
- java中的移位运算符:<<,>>
- java移位运算符:<<(左移)、>>(带符号右移)和>>>(无符号右移)
- java移位运算符:<<(左移)、>>(带符号右移)和>>>(无符号右移)。
- java移位运算符:<<(左移)、>>(带符号右移)和>>>(无符号右移)