Java负数的位运算

Posted coding400

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Java负数的位运算相关的知识,希望对你有一定的参考价值。

/**
* 求负数的位运算
*/
//1. -10 >> 2 = ?
//2. -10的原码: 1000 0000 0000 0000 0000 0000 0000 1010 最高位代表符号位
//3. -10的反码: 1111 1111 1111 1111 1111 1111 1111 0101 符号为不变,其他位相反
//4. -10的补码:1111 1111 1111 1111 1111 1111 1111 0110 补码为反码加1
//5. 补码右移2为:1111 1111 1111 1111 1111 1111 1111 1101
//6. 补码取反为: 1000 0000 0000 0000 0000 0000 0000 0010
//7再加一得原码: 1000 0000 0000 0000 0000 0000 0000 0011 -3
System.out.println(-10 >> 2);



-3














以上是关于Java负数的位运算的主要内容,如果未能解决你的问题,请参考以下文章

java位运算

数电:原码反码补码以及运算中的位宽问题

c#中的位运算

c++中的位运算计算问题

正数和负数的原码反码补码及二进制位运算

java中的位运算符及其用法。