位运算符Java与详解_java位运算符详解
java位運算符詳講
一、位運算符分類? ? java中位運算符主要有:按位與&、按位或|、按位非~、按位異或^。 在使用時,需要將運算數都轉換為二進制再進行運算,若為負數則使用補碼表示。二、位運算符使用方式? ? 1、按位與&
使用規則:全一則一,否則為零。? ? eg:計算7&-5的結果? ? 第一步:byte中的二進制? ? ? ?7的二進制? ? ? ?被除數? ? 除數? ? 商? ? 余數? ? ? ? 7? ? ? ? ?2? ? ? 3? ? ? 1? ? ? ? 3? ? ? ? ?2? ? ? 1? ? ? 1? ? ? ? 1? ? ? ? ?2? ? ? 0? ? ? 1? ? ? ? 7的二進制為:00000111
-5的二進制? ? ? ? 被除數? ? 除數? ? 商? ? 余數? ? ? ? 5? ? ? ? ?2? ? ? 2? ? ? 1? ? ? ? 2? ? ? ? ?2? ? ? 1? ? ? 0? ? ? ? 1? ? ? ? ?2? ? ? 0? ? ? 1? ? ? ? -5的二進制為:10000101? ? ? ? -5的補碼為:? 11111010? + 1? ?11111011
00000111&11111011:
00000111? ? ? ? 11111011? ? ? ? 00000011——>對應十進制的3
②、按位或|
使用規則:全0為0,否則為1;? ? eg:byte位的 2|-6? ? 2的二進制位:? 0000 0010? ? -6的二進制位:1000 0110? ? -6的補碼:? ? ? ?1111 1010? ? 運算結果:? ? ? ?1111 1010? ? 計算原碼:? ? ? ?1000 0110? ? 相當于十進制位的:-6? ? ?③、按位非~
使用規則:遇0則1,遇1則0;? eg:~-6? -6的二進制位:1000 0110? -6的補碼:? ? ? ?1111 1010? 計算結果:? ? ? ?0000 0101? 相當于十進制:5? 注意:按位非是單目運算符。 ④、按位異或^? ? ?使用規則:相同位0,否則為1;? eg:2^-6? 2的二進制位:? 0000 0010? -6的二進制位:1000 0110? -6的補碼:? ? ? ?1111 1010? 計算結果:? ? ? ?1111 1000? 原碼:? ? ? ? ? ? ? 1000 1000? 相當于十進制位:-8;
三、位運算的意義? ? 二進制運算符,包括位運算符和移位運算符,使程序員可以在二進制基礎上操作數字,可以更有效的進行運算, 并且可以以二進制的形式存儲和轉換數據,是實現網絡協議解析以及加密等算法的基礎。
總結
以上是生活随笔為你收集整理的位运算符Java与详解_java位运算符详解的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: java oracle数据库高效分页查询
- 下一篇: java 自定义注解 解析_java自定