以后搞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 JDK 17是Oracle公司推出的Java开发工具集(Java Development Kit)的最新版本,针对Windows 64位操作系统设计。这个安装包(jdk-17_windows-x64_bin.exe)包含了开发者在Windows环境下编译、调试和运行Java应用...
Java 7 32位版是Java开发工具集(Java Development Kit, JDK)的一个特定版本,专为32位操作系统设计。在计算机编程领域,Java是一种广泛使用的面向对象的编程语言,由Sun Microsystems(后被Oracle公司收购)开发并...
在Java编程语言中,经常需要处理日期与时间相关的数据,例如将数字(通常是表示时间戳或特定格式的字符串)转换为更易读的时间格式。这种转换不仅可以帮助我们更好地理解和操作数据,还能增强应用程序的用户友好性。...
"JAVA基本数字图像处理"这个项目旨在通过Java语言实现一系列基本的图像操作,以帮助开发者理解图像处理的基本原理并掌握其实践技巧。下面将详细介绍这些知识点。 首先,我们要了解数字图像的基础。数字图像实质上是...
对于那些还在使用Windows XP等32位操作系统的用户来说,Java 7 32位版本尤为重要,因为这些系统可能无法兼容更高版本的Java。 1. **多线程与并发改进**: Java 7引入了Fork/Join框架,这是一个并行处理模型,用于...
因此,64位luajava更适合处理大数据量、内存消耗较大的应用,32位版本则适用于对内存需求不高的环境。 luajava-1.1-x32-lua51.rar是32位版本的luajava 1.1,适用于32位操作系统。其中"lua51"表示它依赖于Lua 5.1...
Java代码生成数字证书涉及到几个关键概念和技术,包括...以上就是使用Java代码生成数字证书的基本原理和过程,以及如何不通过keytool工具进行操作。通过理解这些概念,您可以根据需要创建自定义的证书生成解决方案。
64位JDK适合64位操作系统,可以处理更大的内存,更适用于大数据处理和高性能计算。32位JDK则适用于32位操作系统,内存管理有限,但能兼容更多的32位应用程序。选择哪种版本取决于你的操作系统的架构。 4. **Lambda...
例如,`java.util`包包含了集合框架,`java.net`包提供了网络编程接口,`java.sql`包支持数据库操作。 Java JDK的更新也带来了许多新特性,比如Java 8引入的Lambda表达式、函数式接口和Stream API,极大地提高了...
Java JDK 17 (32位Windows系统)是Oracle公司为Windows操作系统提供的Java开发工具包的一个版本,专门针对32位架构。这个版本包含了Java编译器、Java运行时环境、Java类库以及相关的开发工具,是Java开发者进行程序...
Java串口操作是Java开发中一个相对小众但重要的领域,尤其在嵌入式系统、自动化设备通信或者物联网应用中非常常见。Java提供了一个名为`javax.comm`的库来处理串口通信,不过这个库已经很久没有更新了,且在某些现代...
JavaRD800.dll是Java运行时环境(JRE)的一部分,主要在32位操作系统上使用。这个动态链接库文件对于许多依赖Java的应用程序来说是至关重要的,因为它们需要这个组件来执行特定的函数。JavaRD800.dll可能包含特定的...
64位版本的Java JDK针对64位操作系统,这种系统能够处理更大的内存地址空间,允许Java应用程序利用更多的RAM。这对于处理大数据、复杂的多线程应用或需要大量内存的高性能计算至关重要。相比32位版本,64位Java可以...
Java 8 64位免安装版是一款专为开发者设计的轻量级Java开发环境,无需复杂的安装过程,只需配置相应的环境变量,就能在任何支持64位操作系统的机器上快速启动Java开发工作。这个版本的JDK1.8特别适合那些希望节省...
Java语言中的位运算符是编程中的一个重要组成部分,尤其是在处理底层数据和优化代码性能时。左移操作符()是位运算符之一,它在Java中有着特定的应用和理解。本篇文章将深入探讨Java中的左移操作符及其相关知识点。...
Java Development Kit (JDK) 1.8 是Java编程语言的一个重要版本,尤其对于32位操作系统用户来说,它是开发和运行Java应用程序的基础。在这个版本中,Java引入了许多新特性和改进,使得开发者能够更高效地编写代码并...
### Java保留两位小数的方法详解 #### 方法一:使用`BigDecimal` **原理**:通过`BigDecimal`类提供的方法,能够精确地控制数值的精度。在本案例中,使用`setScale`方法来设置小数点后保留的位数,并指定舍入规则...
JDK 17是Oracle公司发布的Java SE(Standard Edition)的一个版本,适用于64位操作系统。这个版本旨在提供更稳定、安全和高效的开发环境,对于Java开发者来说具有重要意义。 JDK 17的主要亮点和改进包括: 1. **...
在Java程序中,我们需要设置串口参数,如波特率、数据位、停止位和校验位,以匹配万用表的配置。然后,我们可以发送命令到万用表进行测量,并接收返回的数据。这可能涉及到解析特定的指令集或协议,因为不同的万用表...