本文主要是介绍java基础教程21讲:运算符之位运算符,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
java支持7个位运算符:
&按位与 两个都1,返回1,其他都是0
|按位或 只要有一个是1,就返回1
~按位非 0变1、1变0
^按位异或 不相同就是1、相同是0
<< 左移 5 << 2,左移动两位
>>右移
. >>>无符号右移 不变号,右移动后,左边空位补0
一般来说,位运算只能操作整数类型的变量或值。
举例:5&9,计算机底层是二进制,int类型是32位的。
5表示成2进制:00000101
9表示成2进制:00001001
5&9就是把二进制对应的数进行比对,形成一个新的二进制数,
//int 32 5表示成2进制:0000 0101//9表示成2进制: 0000 1001 5&9结构 00000001 非5 11111010//5与9的结果://1、带符号的整数都是用补码表示,补码=反码+1//2、32位的整数,第一位是符号位0是正1是负数,取反码时符号位不变//5的二进制 0000 0101 它的反码是 0111...11111010// 补码是反码加1 、 0111...11111011 1000...00000100System.out.println("5与9的结果"+(5 & 9));System.out.println("非5的结果"+(~5));System.out.println("5异或9的结果"+(5 ^ 9));System.out.println("5左移动两位"+(5 << 2));System.out.println("-5右移动两位"+(-5 >> 2));System.out.println("-5右移动两位"+(-5 >>> 2));
/*** 〈配套视频在------今日头条--鲨鱼微课---每天分享java教程--从初级到高级〉<br>〉* @author 鲨鱼微课* @create 2022/2/5* @since 1.0.0*/
public class ShaYuWeiKe {public static void main(String[] args) {System.out.println("配套视频今日头条--鲨鱼微课---每天分享java教程--从初级到高级");}
}
这篇关于java基础教程21讲:运算符之位运算符的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!