`
javaEEdevelop
  • 浏览: 876371 次
  • 性别: Icon_minigender_1
  • 来自: 广州
文章分类
社区版块
存档分类
最新评论

java 按位计算

 
阅读更多

 

 

public class TestByte {

	public static void main(String[] args) {
		
		testNot();
		testOR();
		testAnd();
		testLeftMove();
		testRigthMove();
		testNosige();
		xor();
		
	}
	/**
	 * 测试非
	 * ~
	 *结果
	 *  .. -4 -3 -2 -1 0 1 2 3 ..
	 *  0-->-1
	 *  1-->-2
	 *  2-->-3
	 *  3-->-4
	 *  -1-->0
	 *  -2-->1
	 *  -3-->2
	 */
	public static void testNot(){

		int i=0;
		int j=1;
		int t=2;
		int k=3;
		println(~i,"测试非~0");
		println(~j,"测试非~1");
		println(~t,"测试非~2");
		println(~k,"测试非~3");
		System.out.println("");
		
		j=-1;
		t=-2;
		k=-3;
		println(~j,"测试非~-1");
		println(~t,"测试非~-2");
		println(~k,"测试非~-3");
		System.out.println("------------------------------");
		
		
		
	}
	/**
	 * 换成二进制,要组成相同的位数;再进行比较;最后换成10进制
	 * 1-->1=1
	 * 1-->0=1;
	 * 0-->1=1;
	 * 0-->0=0;
	 * 测试位或 
	 * |
	 */
	public static void  testOR(){
		println(4|20,"测试位或 4|20");
		println(5|12,"测试位或 5|12");
		println(6|28,"测试位或 6|28");
		println(7|4,"测试位或 7|4");
		System.out.println("------------------------------");
		
		
	}
	/**
	 * 换成二进制,要组成相同的位数;再进行比较;最后换成10进制
	 * 1-->1=1
	 * 1-->0=0;
	 * 0-->1=0;
	 * 0-->0=0;
	 * 测试位与 
	 * &
	 */
	public static void  testAnd(){
		println(20&4,"测试位与 20&4");
		println(12&5,"测试位与 12&5");
		println(28&6,"测试位与 28&6");
		println(4&7,"测试位与4&7");
		System.out.println("------------------------------");
		
	}
	/**
	 * 
	 * 测试左移 
	 * <<
	 */
	public static void testLeftMove(){
		
		/**
		 * 8左移3位
		 * 8的二进制是:1000;最后要判断8是的类型;类型不同;转换的结果也不能;int=32位;long=64位;byte=1位
		 * 这里8是int;所以8的最后结果是:0000 0000 0000 0000 0000 0000 0000 1000
		 * 向左去掉三位;最后在右边补三位;结果是:0 0000 0000 0000 0000 0000 0000 1000 000
		 * 然后换成十进制是64
		 * 
		 */
		println(8<<3, "8左移3位");
		println(35<<3, "35左移3位");
		System.out.println("------------------------------");
	}
	/**
	 * 测试右移 
	 * >>
	 */
	public static void  testRigthMove(){
		/**
		 * 12右移3位
		 * 12的二进制值是: 0000 0000 0000 0000 0000 0000 0000 1100
		 * 向右去掉三位;最后在左边补三位;结果是:000 0000 0000 0000 0000 0000 0000 0000 1
		 * 然后换成十进制是1
		 */
		println(12>>3, "12右移3位");
		println(25>>3, "25右移3位");
		System.out.println("------------------------------");
	}
	/**
	 * 测试无符号算数右移
	 *  >>>
	 */
	public static void  testNosige(){
		/**
		 * 无符号右移好像和右移算位一样哦;不过要确定数值类型
		 */
		println(48>>>3, "48无符号右移3位");
		println(101>>>3, "101无符号右移3位");
		System.out.println("------------------------------");
	}
 
        /**
	 * 异或
	 * 	真^假=真
  	 *	假^真=真
     *  假^假=假
  	 *  真^真=假
	 *  1-->1=0
	 *	1-->0=1;
	 *	0-->1=1;
	 *	0-->0=0;
	 */
	public static void xor(){
		//异或
		System.out.println(true^false);
		System.out.println(false^true);
		System.out.println(true^true);
		System.out.println(false^false);
		/**
		 * 1=010
		 * 6=110
		 * 结果是:100换成十进制就是4
		 */
		System.out.println(2^6);
		System.out.println(6^1);
		System.out.println(6^6);
		System.out.println(0^0);
		System.out.println(1^1);
		
	}
	public static void println(Object j,String msg){
		System.out.println(msg+":\t"+j);
	}
}
分享到:
评论

相关推荐

    JAVA数学计算包

    1. **数据概述**:提供了一系列的统计量计算,如平均值、中位数、众数、方差、标准差等,帮助开发者快速了解数据集的基本特性。 2. **比较**:包括了各种比较操作,例如T检验、Mann-Whitney U检验、Kolmogorov-...

    Java实现的浮点类的精确计算

    1. **控制精度**:通过设置`BigDecimal`的精度,可以决定计算到多少位小数。 2. **避免误差**:避免了浮点数运算中的舍入误差,确保了计算结果的精确性。 3. **易用性**:通过封装成工具类,开发者可以更方便地在...

    子网掩码计算java实现方法

    实现通过ip地址和子网掩码位数计算得出子网段的ip地址范围

    java IP地址网段计算的示例代码

    Java IP地址网段计算的示例代码 Java IP地址网段计算是网络编程中的一个重要概念,它可以帮助开发者计算出某个IP地址的网段信息,包括网段的起始IP、结束IP和子网掩码等。在Java语言中,可以使用各种算法和技巧来...

    java高精度计算算法与分析

    "java高精度计算算法与分析" java高精度计算是指在java编程语言中对数字进行高精度计算的方法和技术。高精度计算是指在计算过程中保持尽可能高的精度,以避免计算结果的不确定性和差异。java高精度计算通常是指使用...

    Java数值计算算法编程

    例如,可以存储一系列数值进行统计分析,如平均值、中位数、众数的计算。此外,Map接口可用于关联数值,如查找特定数值的频率。 数值计算中,矩阵运算是一种常见的操作。虽然Java标准库没有内置的矩阵类,但可以...

    计算java对象大小

    在Java编程语言中,计算一个对象的大小是一个相对复杂的过程,因为对象的内存布局涉及到多个因素,包括对象头、实例字段、对齐填充等。这个主题通常与性能优化和内存管理有关,尤其是在处理大规模数据结构时。这篇...

    十六进制字符串按位异或运算工具和java位异或运算

    本节将详细介绍十六进制字符串的按位异或运算以及如何在Java中实现这一运算。 十六进制字符串是由0到9和A到F(或a到f)组成的字符序列,每个字符代表4位二进制数。例如,十六进制数"AB"在二进制下表示为10101011。...

    java实现计算一个文件的16位效验和

    ### Java 实现计算一个文件的16位校验和 #### 概述 本文将详细介绍如何使用Java编写一个程序来计算文件的16位校验和。校验和是一种简单的错误检测方法,常用于文件传输过程中确保数据完整无损地到达目的地。16位...

    Java数学表达式计算(Expression Evaluator)

    在Java编程中,处理数学表达式的计算是一项常见的任务,尤其在需要动态计算或者解析用户输入时。本主题将深入探讨如何在Java中实现一个数学表达式计算器,这通常被称为"Expression Evaluator"。我们将讨论相关的技术...

    java并行计算圆周率

    在Java编程语言中,实现并行计算圆周率是一项挑战性的任务,但通过利用多线程和适当的算法,我们可以大大提高计算效率。在这个项目中,我们关注的是如何在4个线程的状态下,3分钟内计算出圆周率的第62到63万位小数。...

    java保留两位小数问题

    本文将深入探讨如何在Java中保留两位小数,并覆盖四舍五入、浮点数精确计算以及避免科学记数法等问题。 #### 四舍五入保留两位小数 四舍五入是数学中的一个基本概念,指的是当一个数的小数部分小于等于0.5时,将其...

    java数值计算算法编程

    Java数值计算算法编程是计算机科学中的一个重要领域,它涉及到如何使用Java语言进行高效且精确的数学运算。在Java中,数值计算涵盖了广泛的算法和技术,包括基本的算术运算、复杂数学函数、线性代数、微积分、概率...

    经纬度计算距离、方位角等java源码

    本篇文章将详细讲解如何利用Java编程语言实现这一功能,主要基于给定的"经纬度计算"标签以及压缩包中的"Caculate.java"源码。 首先,我们了解地球坐标系统。在地理坐标系统中,每个位置由经度和纬度来表示,经度...

    JAVA版的WINDOWS计算器

    通过这个项目,开发者可以学习到如何在Java中创建图形用户界面(GUI)以及如何处理用户输入和执行相应的计算操作。 二、核心技术 1. Java Swing:作为Java的GUI库,Swing提供了丰富的组件,如按钮、文本框、标签等...

    Java保留两位小数方法大全

    ### Java保留两位小数的方法详解 #### 方法一:使用`BigDecimal` **原理**:通过`BigDecimal`类提供的方法,能够精确地控制数值的精度。在本案例中,使用`setScale`方法来设置小数点后保留的位数,并指定舍入规则...

    计算圆周率的java程序

    在Java编程语言中,计算圆周率是一项挑战性的任务,特别是在处理大数运算时。圆周率(Pi)是数学中的一个无理数,表示一个圆的周长与其直径之比,通常用希腊字母π表示。Java提供了多种方法来计算圆周率,包括基本...

    java11 windows64位

    Java 11是Oracle公司发布的Java Standard Edition (Java SE) 的一个重要版本,它在Java的生态系统中占据着核心地位,广泛应用于服务器端开发、桌面应用、移动应用以及云计算平台等。Windows 64位版本是专为在Windows...

    Java——jdk1.8(64位和32位)

    以下是关于Java JDK 1.8的一些关键知识点,特别是针对64位和32位系统的差异: 1. **Java版本**:Java 1.8是Oracle公司发布的Java平台标准版(Java SE)的一个版本,也被称为Java 8。这个版本在2014年发布,引入了...

    java64位jdk

    Java 64位JDK是Java Development Kit的64位版本,专为Windows操作系统设计。在深入探讨这个主题之前,我们需要理解几个基本概念。 首先,Java JDK是开发和运行Java应用程序所需的核心组件,包括Java编译器(javac)...

Global site tag (gtag.js) - Google Analytics