⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 bitopapli.java

📁 java的书上例子
💻 JAVA
字号:
/** 一个简单的应用程序,用来说明位运算符的应用 */

/** 类BitOpApli */
public class BitOpApli{
	static final int FLAG1=1;   //定义常量FLAG1为int型,值为1(右边5位是00001)
	static final int FLAG2=2;   //定义常量FLAG2为int型,值为2(右边5位是00010)
	static final int FLAG3=4;   //定义常量FLAG3为int型,值为4(右边5位是00100)
	static final int FLAG4=8;   //定义常量FLAG4为int型,值为4(右边5位是01000)
	static final int FLAG5=16; //定义常量FLAG5为int型,值为4(右边5位是10000)

	/** main()方法 */
	public static void main( String args[] ){
		int flags=0;     //初始化所有的标志位
		int flag1=flags & FLAG1; //获得flag1
		int flag2=(flags & FLAG2)>>>1; //获得flag2
		int flag3=(flags & FLAG3)>>>2; //获得flag3
		int flag4=(flags & FLAG4)>>>3; //获得flag4
		int flag5=(flags & FLAG5)>>>4; //获得flag5
		System.out.println("Clear flags...flags="+flag5+flag4+flag3+flag2+flag1);
		//输出标志位状态,下同
		flags=flags | FLAG1;   //将flag1置位
		flag1=flags & FLAG1; //获得flag1
		System.out.println("Set flag1...flags="+flag5+flag4+flag3+flag2+flag1);
		flags=flags ^ FLAG2;    //将flag2翻转
		flag2=flags>>>1 & 1; //获得flag2
		System.out.println("Revert flag2...flags="+ flag5+flag4+flag3+flag2+flag1);
		flags=flags | FLAG3; //将flag3置位
		flag3=flags>>>2 & 1; //获得flag3
		System.out.println("Set flag3...flags="+ flag5+flag4+flag3+flag2+flag1);
		flags=~FLAG1 & flags; //将flag1清零
		flag1=flags & FLAG1; //获得flag1
		System.out.println("Clear flag1...flags="+ flag5+flag4+flag3+flag2+flag1);
		flags=flags | FLAG4 | FLAG5; //将flag4和flag5置位
		flag4=flags>>>3 & 1; //获得flag4
		flag5=flags>>>4 & 1; //获得flag5
		System.out.println("Set flag4 and flag5...flags="+ flag5+flag4+flag3+flag2+flag1);
		flags=flags ^ FLAG5;    //将flag5翻转
		flag5=flags>>>4 & 1; //获得flag5
		System.out.println("Revert flag5...flags="+ flag5+flag4+flag3+flag2+flag1);
	}
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -