Java运算符(取反,左移,右移)

“#Java运算符”
<1>计算机的基本编码知识:
源码,反码,补码
①计算机的这些编码是转换成二进制进行运算的
②正数的源码,反码,补码均相同
③关于负数的源码,反码,补码
Java运算符(取反,左移,右移)
(补码是计算机数字存储的实际存储形态)
<2>取反运算:存在公式a+(a)+1=0,所以a=-1-(~a)
注意点:位取反,对包括标志位在内的所有位直接取反,得出的数标志位为1,表明答案是负数,负数在计算机中以补码的形式存在(正数也是)但是答案一般要求得到十进制答案,所以需要将所得答案转换为十进制,具体操作是:除标志位外整体取反,之后加一(答案为正数执行减一)
<3>位移操作:左移运算,右移运算,无符号右移运算
Java运算符(取反,左移,右移)

(a:待操作数,n:位移的数量)
详细操作:①左移运算:向左移动一位,高位(最左边)补一位零
②右移运算:正数向右移动一位,高位(最左边)补一位零;负数向右移动一位,高位补一位一
③无符号右移运算:无论正负右移一位高位补一位零