`

int类型与四位字节数组互转(java)

阅读更多

原文:http://topic.csdn.net/u/20070606/12/7cd05c3e-71da-42ff-b218-4fd0482f253b.html

 

package com.mapabc.sz_hbt.util;
/**
 * <p>Title:整型与长度为4的字节数组的互换 </p>
 * <p>Description: </p>
 * <p>Copyright: Copyright (c) 2007-5-10</p>
 * <p>Company: www.mapabc.com</p>
 * @author luoyj
 * @version 1.0
 */   
public class ByteUtil {
    /**
     * 整型转换为4位字节数组
     * @param intValue
     * @return
     */
    public static byte[] int2Byte(int intValue) {
        byte[] b = new byte[4];
        for (int i = 0; i < 4; i++) {
            b[i] = (byte) (intValue >> 8 * (3 - i) & 0xFF);
            //System.out.print(Integer.toBinaryString(b[i])+" ");
            //System.out.print((b[i] & 0xFF) + " ");
        }
        return b;
    }
    /**
     * 4位字节数组转换为整型
     * @param b
     * @return
     */
    public static int byte2Int(byte[] b) {
        int intValue = 0;
//        int tempValue = 0xFF;
        for (int i = 0; i < b.length; i++) {
            intValue += (b[i] & 0xFF) << (8 * (3 - i));
            // System.out.print(Integer.toBinaryString(intValue)+" ");
        }
        return intValue;
    }

}
 

 

分享到:
评论
2 楼 nextw3 2010-11-16  
b[i] = (byte) (intValue >> 8 * (3 - i) & 0xFF);

写成
b[i] = (byte) (intValue >> 8 * (3 - i));
应该也没问题吧?
1 楼 luxiaoshuai 2010-04-05  
[b][/b][i][/i][u][/u]
引用

    [*]
[img][/img][url][/url][flash=200,200][/flash]

相关推荐

    Java byte数组与其他类型转换

    在实际应用中,例如在Java的NIO(非阻塞I/O)中,`java.nio.Bits`和`HeapByteBuffer`类提供了更高级别的接口来执行这些转换,它们可以更方便地处理字节数组与其他类型之间的转换,并且支持缓冲区的读写操作,使得...

    JAVA作业三字节数组转化.docx

    总之,理解字节数组与int类型之间的转换是Java程序员必备的技能之一。无论是将int转换为字节数组,还是将字节数组还原为int,都需要考虑到字节序的影响,并根据实际需求选择合适的方法。在实际应用中,我们可能会...

    Java 字节数组类型(byte[])与int类型互转方法

    在Java中,`int2bytes()`函数通过右移操作将`int`的每一位分配到字节数组的相应位置。代码中的`&gt;&gt;&gt;`操作符是无符号右移,即使在处理负数时,高位也会用0填充。每个字节的设置如下: - `result[0]`存储最高位(24位...

    J2ME 字符型转化成字节数组

    #### 知识点四:J2ME中的字节数组到字符的转换 与字符到字节数组的转换相反,我们也可以实现从字节数组到字符的转换: ```java public static char byteToChar(byte[] b) { int s = 0; if (b[0] &gt; 0) s += b[0]...

    java基本类型与byte数组互相转换.pdf

    在Java编程语言中,将基本数据类型转换为字节数组以及从字节数组转换回基本数据类型是一项常见的操作,特别是在处理网络通信、数据存储和序列化等场景。上述代码提供了一些方法来实现这些转换,包括short、int、long...

    java byte相互转换详解左右位移

    在Java中,基本数据类型byte与int之间的相互转换涉及到计算机的二进制运算、位移操作以及补码的概念。我们首先了解Java中int和byte的数据结构,然后探讨它们之间的转换方法及其背后的原理。 **基本数据类型结构:**...

    java基本类型与byte数组互相转换

    ### Java基本类型与Byte数组互相转换 在Java编程语言中,基本类型的变量(如`short`、`int`、`long`、`char`、`double`和`float`)和`byte`数组之间的相互转换是一项非常实用的技术,尤其是在网络通信、文件读写等...

    Java基本类型与byte数组之间相互转换方法

    有时在处理数据时,我们需要将这些基本类型与字节数组(byte arrays)进行转换,特别是在网络通信、文件存储或序列化等场景中。下面我们将详细介绍如何在Java中进行这种转换。 首先,我们要理解字节在计算机内存中...

    计算一个Java对象占用字节数的方法

    首先,Java对象在堆内存中由四个部分组成:对象头(A)、基本类型域(B)、引用类型域(C)和填充物(D)。 **对象头(A)**: 对象头包含了对象的元数据,如对象实例的名字、唯一标识(对象ID)以及对象的状态信息...

    int、char、double与byte类型之间相互转换

    Java中的int类型占用4个字节(即32位),因此转换后的byte数组长度为4。 ```java public static byte[] intToByte(int number) { int temp = number; byte[] b = new byte[4]; for (int i = b.length - 1; i &gt;= 0...

    java byte数组与int,long,short,byte的转换实现方法

    同样,通过位右移和按位与操作将`int`拆分为四个字节。 这些转换方法在处理二进制数据时非常有用,例如在网络通信中解析或构建数据包,或者在文件读写时将数据序列化和反序列化。理解这些转换机制是成为一名熟练的...

    Java IO字符流和字节流

    - **`public void write(byte[] b, int off, int len)`**:向输出流写入字节数组b中从下标off开始的len个字节。 - **`public void flush()`**:刷新输出流,强制写出所有缓冲的输出字节。 ##### 3. 字符流 字符流...

    java数据类型、变量、数组.pdf

    Java提供了8种简单的或基本的数据类型,它们分为四组:整数类型、浮点类型、字符类型和布尔类型。整数类型包括byte、short、int和long,分别代表8位、16位、32位和64位的有符号整数。尽管这些类型的长度固定,但在...

    java数据类型,变量,数组详解区别(很全面)

    ### Java 数据类型、变量与数组详解 #### 一、引言 Java 作为一种广泛使用的编程语言,其设计之初便强调了安全性和健壮性。Java 的强类型特性是实现这一点的关键之一。本篇文章将深入探讨 Java 中的数据类型、变量...

    使用Java代码将IP地址转换为int类型的方法

    在Java编程中,将IP地址转换为int类型的方法是一个常见的技术问题,这涉及到网络编程的基础知识和位操作。IP地址通常以点分十进制的形式表示(如"192.168.1.116"),而转换为int类型则需要将每个八位段(byte)分别...

    学习文档_JAVA中Integer和Byte转换.doc

    在进行位运算时,Java会将byte类型自动扩展为int类型进行操作,这是因为byte的范围较小,位运算需要更大的数据类型来容纳结果。 以下是一个将4字节数组转换为有符号整数的方法: ```java int ByteToSignedInt(byte...

    dotnet C# 将 Byte 二进制数组使用不安全代码快速转换为 int 或结构体数组.rar

    在计算机内存中,每个int占用4个字节,因此,如果我们有一个连续的Byte数组,我们可以通过指针操作逐个读取这四个字节并转换为int。以下是一个示例: ```csharp public unsafe static int[] BytesToIntArray(byte[]...

    java 算法大全 java

    在计算机科学中,十六进制常用于表示二进制数据,因为每个十六进制数字可以精确地表示四位二进制数,使得数据的表达更加紧凑且易于阅读。 字符串是由一系列字符组成的序列,在Java中通常用`String`类来表示。当涉及...

    java中String_十六进制String_byte[]之间相互转换

    在Java开发中,字符串(String)、十六进制表示的字符串以及字节数组(byte[])之间的转换是非常常见的需求,尤其是在处理网络通信、文件读写等场景下。本文将详细介绍如何在Java中实现这些数据类型之间的相互转换,...

    JAVA数据类型思维导图

    - 整型:Java提供了四种整型,它们是byte(1字节,-128~127)、short(2字节,-32768~32767)、int(4字节,-2^31~2^31-1)和long(8字节,-2^63~2^63-1)。这些类型用于存储整数。 - 浮点型:包含float(4字节,...

Global site tag (gtag.js) - Google Analytics