Java自學筆記 運算子及二進位制演算法
阿新 • • 發佈:2018-12-20
http://www.runoob.com/java/java-operators.html 菜鳥學院教程 Java定義了位運算子,應用於整數型別(int),長整型(long),短整型(short),字元型(char),和位元組型(byte)等型別。 位運算子作用在所有的位上,並且按位運算。假設a = 60,b = 13;它們的二進位制格式表示將如下: A = 0011 1100 B = 0000 1101 A&b = 0000 1100 A | B = 0011 1101 A ^ B = 0011 0001 ~A= 1100 0011 事實上在上述的二進位制表達中其實int型的數字總共有32位例如: A=0000 0000 0000 0000 0000 0000 0011 1100; 那麼~A=1111 1111 1111 1111 1111 1111 1100 0011;如果二進位制的最高位為1,那麼此二進位制數轉化的十進位制數就為負數,轉化方法為先按位取反,然後加1,得到負數絕對值的二進位制碼,然後轉為十進位制,加上符號。 例如:求~A的值: 1.先按位取反=0000 0000 0000 0000 0000 0000 0011 1100; 2.加一=0000 0000 0000 0000 0000 0000 0011 1101; 3.轉為十進位制=1+4+8+16+32=61; 4.加上負號=-61