首页 > 编程语言 >java基础4 位运算的一些例子

java基础4 位运算的一些例子

时间:2023-03-27 22:07:03浏览次数:37  
标签:11111111 12 java 运算 00000000 例子 操作符 移位


package endual3;

public class MainApp {

	/**
	 * 位运算
	 * java语言支持整数类型的数据的位运算,位运算操作符包括:
	 * 1.& -- 与运算,二元操作符号,对两个操作元的每个二进制位进行运算
	 *     运算规则是 :1 & 1 = 1; 1 & 0 = 0; 0 & 1 = 1; 0 & 0 = 0;
	 * 2 ^ --异或运算,二元操作符,对两个操作元的每个二进制位进行异或的运算,
	 *    运算规则:1^1 = 0; 1^0=1 ; 0^1 = 1; 0^0 = 0
	 * 3 |---或运算  , 二元操作符,对两个操作元的二进制的进行或运算
	 *    运算规则是: 1 | 1 = 1; 1^0 = 1; 0^1 = 1 ; 0^0 = 0 ;
	 * 4 ^--取反运算 一元操作符,对操作元的每个二进制位进行取反运算,
	 *    运算规则是:~1 = 0 ; ~0 = 1 ;
	 * 5 >> --- 算术右移位运算,二元操作符
	 * 6 >>> -- 逻辑右移位运算,二元操作符
	 * 7 << ---算法左移位运算,二元操作符
	 * 
	 */
	public static void main(String[] args) {
		// TODO Auto-generated method stub

		/**
		 * 算术右移位操作符 >>
		 * 操作符 >> 进行算法右移位运算,也称为带符号右移位运算
		 */
		
		int a1 = 12 >> 1 ;//变量a1的取值为6 ;
		
		//对12右移一位的过程中,舍弃了二进制数的最后的一位,在二进制数的开头添加以为符号位,
		//由于12是整数,因此在符号位上添加的是0 
		//00000000 00000000 00000000 0000110 0 ---->0 00000000 00000000 00000000 0000110
		int a2 = -12 >> 2 ; //变量a2的取值为3 ;
		//对于-12右边移动两位的过程中,舍弃二进制数的最后两位,在二进制的开头增加两位符号位,由于-12
		//是负整数,因此增加了两位符号位11,
		//11111111 11111111 11111111 111101 00 -->> 11 11111111 11111111 11111111 111101
		int a3 = 128 >> 2 ; //变量a3的取值为32 ;
		int a4 = 129 >> 2 ; //变量a4的取值为32 ;
		
		/**
		 * 逻辑右移位操作符
		 * 操作符>>>是逻辑右移操作符,也称为不带符号右移操作符号,在移位的过程中,二进制数的开头增加的
		 * 位都是0
		 * 
		 * 举例子不举了
		 */
		
		//左移位操作符 << 
		/**
		 * 操作符  << 执行左移位运算
		 * 
		 * int a1 = 12 << 1 ;
		 * 
		 * 对于12左移以为的过程中,舍弃的是二进制数的开头一位,在二进制数的尾巴增加一位0
		 *
		 * int a2 = -12 << 2 ;
		 * 对于负数-12 ,操作的过程是 舍弃二进制数的开头两位,在二进制数的尾巴增加两位00
		 * 
		 */
		
		
	}

}

标签:11111111,12,java,运算,00000000,例子,操作符,移位
From: https://blog.51cto.com/u_16034393/6153278

相关文章

  • 大水计划之DEA JAVA
    Java调用exe自动输入命令DEAP2.1软件是数据包络分析(DEA)软件.小弟用Eclipse平台实现B/S架构,需要客户端通过调用服务器端deap.exe(下图)软件,在服务器端实现数据处理后,显示到......
  • Linux下 Java 读取文件路径
    一般文件路径在windows中用\表示,但是在其他系统平台下比如linux中就不是\所以java给我们提供了一个与平台无关的表示路径的常量File.separator在windows中则表示\比......
  • JAVA 的注释写法
    Java注释的规范写法 一.Java文档//注释一行/*......*/注释若干行/**......*/注释若干行,并写入javadoc文档通常这种注释的多行写法如下:/***.........*..............
  • java 并发库 Future 和 Collable的使用
    packageendual;importjava.util.concurrent.Callable;importjava.util.concurrent.ExecutionException;importjava.util.concurrent.ExecutorService;importjava.......
  • java wait() notyfy()的使用
    我们知道,并发的编程在企业中用的很多,对于并发的学习是很重要的。现在我们想从程序上给大家一个分析,在我写这个程序的时候,只知道wait()是线程等待,notify是唤醒线程,还有一个no......
  • java 并发包写的一个缓存系统
    packageendual;importjava.util.HashMap;importjava.util.Map;importjava.util.concurrent.locks.ReadWriteLock;importjava.util.concurrent.locks.ReentrantRea......
  • MD5Code.java
    MD5Code.javajava技术篇2009-03-1417:09:05阅读14评论0字号:大中小订阅packageorg.lxh.myzngt.util;publicclassMD5Code{/**下面这些S11-S44实际......
  • Java注解与反射
    注解(Annotation)注解Annotation是JDK5.0引入的一种注释机制Annotation的作用:不是程序本身,可以对程序作出解释可以被其他程序(比如:编译器等)读取Annotation的作......
  • Javascript绝句欣赏
     1.取整同时转成数值型:’10.567890′|0//结果:10’10.567890′^0//结果:10-2.23456789|0//结果:-2~~-2.23456789//结果:-2 2.日期转数值:vard=+ne......
  • JavaScript 压缩 加密 解密
     代码: <!DOCTYPEHTMLPUBLIC"-//W3C//DTDXHTML1.0Transitional//EN""http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><htmlxmlns="http://www.w3.or......