`
baiyuxiong
  • 浏览: 177949 次
  • 性别: Icon_minigender_1
  • 来自: 西安
社区版块
存档分类
最新评论

java对数据的位操作

    博客分类:
  • java
阅读更多
以后搞JAVA了,发一些入门级没营养的东西。
数据位操作函数
         /**整数转成byte数组*/
	 public static byte[] intToByteArray(int i) {   
	        byte[] result = new byte[4];   
	        result[0] = (byte) ((i >> 24) & 0xFF);   
	        result[1] = (byte) ((i >> 16) & 0xFF);   
	        result[2] = (byte) ((i >> 8) & 0xFF);   
	        result[3] = (byte) (i & 0xFF);   
	        return result;   
	    }
	 
	 /**短整型转到byte数组*/
	 public static byte[] shortToByteArray(short s) 
	 {
		   byte[] shortBuf = new byte[2];
		   for(int i=0;i<=0;i++) {
		   int offset = (shortBuf.length - 1 -i)*8;
		   shortBuf[i] = (byte)((s>>>offset)&0xff);
		   }
		   return shortBuf;
	 }
	 
	 /**byte转short,同时高低位互换*/
	 public static final int byteArrayToShort(byte [] b) {
		    return (b[1] << 8) + (b[0] & 0xFF);
		   }
	 
	 /**byte转int,同时高低位互换*/
	 public static final int byteArrayToInt(byte [] b) {
		    return (b[3] << 24) + (b[2] << 16) + (b[1] << 8) + (b[0] & 0xFF);
		   }
	 
	 /**整数转byte, 同时,高低位互换*/
	 public static byte[] intLtoH(int n){ 
	        byte[] b = new byte[4]; 
	        b[0] = (byte)(n & 0xff); 
	        b[1] = (byte)(n >> 8 & 0xff); 
	        b[2] = (byte)(n >> 16 & 0xff); 
	        b[3] = (byte)(n >> 24 & 0xff); 
	        return   b; 
	    } 
	 
	/**将短整型高低位互换*/
	 public static byte[] shortLtoH(int n){ 
	        byte[] b = new byte[4]; 
	        b[0] = (byte)(n & 0xff); 
	        b[1] = (byte)(n >> 8 & 0xff); 
	        return   b; 
	    } 
	 
	 /**单字节转无符号整数*/
	 public  static int bytesToInt(byte b) 
	 {
		return ((int)b >= 0) ? (int)b : 256 + (int)b;  
	 }
	 
	 /**
	  * 取得某一个data的第pos位的二进制位是0还是1
	  * @param data 要查的数据
	  * @param pos 第几位
	  * @return 0或1
	  */
	 public static int getBin(int data,int pos)
	{
		pos-=1;
		if(pos < 0)
			return 0;
		if(((1<<pos) & data )== 0)
			return 0;
		else
			return 1;
	}
分享到:
评论

相关推荐

    java 位操作集合以及应用技巧

    Java中的位操作是一种底层的、高效的编程技巧,它允许我们直接对二进制位进行操作。位操作在处理数据、优化代码性能等方面有着广泛的应用,尤其是在处理二进制流、节省内存资源或进行高效计算时。本文将深入探讨Java...

    windows的64位操作系统下的java的jdk17安装包

    Java JDK 17是Oracle公司推出的Java开发工具集(Java Development Kit)的最新版本,针对Windows 64位操作系统设计。这个安装包(jdk-17_windows-x64_bin.exe)包含了开发者在Windows环境下编译、调试和运行Java应用...

    java7 32位版

    Java 7 32位版是Java开发工具集(Java Development Kit, JDK)的一个特定版本,专为32位操作系统设计。在计算机编程领域,Java是一种广泛使用的面向对象的编程语言,由Sun Microsystems(后被Oracle公司收购)开发并...

    java将数字转换为时间格式

    在Java编程语言中,经常需要处理日期与时间相关的数据,例如将数字(通常是表示时间戳或特定格式的字符串)转换为更易读的时间格式。这种转换不仅可以帮助我们更好地理解和操作数据,还能增强应用程序的用户友好性。...

    JAVA基本数字图像处理

    "JAVA基本数字图像处理"这个项目旨在通过Java语言实现一系列基本的图像操作,以帮助开发者理解图像处理的基本原理并掌握其实践技巧。下面将详细介绍这些知识点。 首先,我们要了解数字图像的基础。数字图像实质上是...

    Java7 32位

    对于那些还在使用Windows XP等32位操作系统的用户来说,Java 7 32位版本尤为重要,因为这些系统可能无法兼容更高版本的Java。 1. **多线程与并发改进**: Java 7引入了Fork/Join框架,这是一个并行处理模型,用于...

    luajava1.1 64位版本和32位版本

    因此,64位luajava更适合处理大数据量、内存消耗较大的应用,32位版本则适用于对内存需求不高的环境。 luajava-1.1-x32-lua51.rar是32位版本的luajava 1.1,适用于32位操作系统。其中"lua51"表示它依赖于Lua 5.1...

    java代码生成数字证书

    Java代码生成数字证书涉及到几个关键概念和技术,包括...以上就是使用Java代码生成数字证书的基本原理和过程,以及如何不通过keytool工具进行操作。通过理解这些概念,您可以根据需要创建自定义的证书生成解决方案。

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

    64位JDK适合64位操作系统,可以处理更大的内存,更适用于大数据处理和高性能计算。32位JDK则适用于32位操作系统,内存管理有限,但能兼容更多的32位应用程序。选择哪种版本取决于你的操作系统的架构。 4. **Lambda...

    Java jdk 86位软件下载

    例如,`java.util`包包含了集合框架,`java.net`包提供了网络编程接口,`java.sql`包支持数据库操作。 Java JDK的更新也带来了许多新特性,比如Java 8引入的Lambda表达式、函数式接口和Stream API,极大地提高了...

    Java JDK 17 (32位Windows系统)

    Java JDK 17 (32位Windows系统)是Oracle公司为Windows操作系统提供的Java开发工具包的一个版本,专门针对32位架构。这个版本包含了Java编译器、Java运行时环境、Java类库以及相关的开发工具,是Java开发者进行程序...

    java_java串口操作_

    Java串口操作是Java开发中一个相对小众但重要的领域,尤其在嵌入式系统、自动化设备通信或者物联网应用中非常常见。Java提供了一个名为`javax.comm`的库来处理串口通信,不过这个库已经很久没有更新了,且在某些现代...

    javaRD800.dll 32位操作系统文件下载

    JavaRD800.dll是Java运行时环境(JRE)的一部分,主要在32位操作系统上使用。这个动态链接库文件对于许多依赖Java的应用程序来说是至关重要的,因为它们需要这个组件来执行特定的函数。JavaRD800.dll可能包含特定的...

    java64位jdk

    64位版本的Java JDK针对64位操作系统,这种系统能够处理更大的内存地址空间,允许Java应用程序利用更多的RAM。这对于处理大数据、复杂的多线程应用或需要大量内存的高性能计算至关重要。相比32位版本,64位Java可以...

    Java8 64位免安装版

    Java 8 64位免安装版是一款专为开发者设计的轻量级Java开发环境,无需复杂的安装过程,只需配置相应的环境变量,就能在任何支持64位操作系统的机器上快速启动Java开发工作。这个版本的JDK1.8特别适合那些希望节省...

    java位运算符之左移操作视频

    Java语言中的位运算符是编程中的一个重要组成部分,尤其是在处理底层数据和优化代码性能时。左移操作符()是位运算符之一,它在Java中有着特定的应用和理解。本篇文章将深入探讨Java中的左移操作符及其相关知识点。...

    32位操作系统的jdk1.8版本

    Java Development Kit (JDK) 1.8 是Java编程语言的一个重要版本,尤其对于32位操作系统用户来说,它是开发和运行Java应用程序的基础。在这个版本中,Java引入了许多新特性和改进,使得开发者能够更高效地编写代码并...

    Java保留两位小数方法大全

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

    java JDK-17 64位包

    JDK 17是Oracle公司发布的Java SE(Standard Edition)的一个版本,适用于64位操作系统。这个版本旨在提供更稳定、安全和高效的开发环境,对于Java开发者来说具有重要意义。 JDK 17的主要亮点和改进包括: 1. **...

    java实现万用表测量数据(硬件编程)

    在Java程序中,我们需要设置串口参数,如波特率、数据位、停止位和校验位,以匹配万用表的配置。然后,我们可以发送命令到万用表进行测量,并接收返回的数据。这可能涉及到解析特定的指令集或协议,因为不同的万用表...

Global site tag (gtag.js) - Google Analytics