`
daiyuok
  • 浏览: 26680 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

byte[]到short、int、long的相互转换

 
阅读更多

 001 public final static byte [] getBytes( short s, boolean asc)

002 {
003      byte [] buf = new byte [2];
004      if (asc)
005          for ( int i = buf.length - 1; i >= 0; i--)
006          {
007              buf[i] = ( byte ) (s & 0x00ff);
008            s >>= 8;
009          }
010      else
011          for ( int i = 0; i < buf.length; i++)
012          {
013              buf[i] = ( byte ) (s & 0x00ff);
014            s >>= 8;
015          }
016      return buf;
017 }
018
019 public final static byte [] getBytes( int s, boolean asc)
020 {
021      byte [] buf = new byte [4];
022      if (asc)
023        for ( int i = buf.length - 1; i >= 0; i--)
024        {
025          buf[i] = ( byte ) (s & 0x000000ff);
026          s >>= 8;
027        }
028      else
029        for ( int i = 0; i < buf.length; i++)
030        {
031          buf[i] = ( byte ) (s & 0x000000ff);
032          s >>= 8;
033        }
034      return buf;
035 }
036
037 public final static byte [] getBytes( long s, boolean asc)
038 {
039      byte [] buf = new byte [8];
040      if (asc)
041        for ( int i = buf.length - 1; i >= 0; i--)
042          {
043          buf[i] = ( byte ) (s & 0x00000000000000ff);
044          s >>= 8;
045        }
046      else
047        for ( int i = 0; i < buf.length; i++)
048          {
049          buf[i] = ( byte ) (s & 0x00000000000000ff);
050          s >>= 8;
051        }
052      return buf;
053 }
054
055 public final static short getShort( byte [] buf, boolean asc)
056 {
057      if (buf == null )
058      {
059        throw new IllegalArgumentException( "byte array is null!" );
060      }
061      if (buf.length > 2)
062      {
063        throw new IllegalArgumentException( "byte array size > 2 !" );
064      }
065      short r = 0;
066      if (asc)
067        for ( int i = buf.length - 1; i >= 0; i--)
068          {
069          r <<= 8;
070          r |= (buf[i] & 0x00ff);
071        }
072      else
073        for ( int i = 0; i < buf.length; i++)
074          {
075          r <<= 8;
076          r |= (buf[i] & 0x00ff);
077        }
078      return r;
079 }
080
081 public final static int getInt( byte [] buf, boolean asc)
082 {
083      if (buf == null )
084      {
085        throw new IllegalArgumentException( "byte array is null!" );
086      }
087      if (buf.length > 4)
088      {
089        throw new IllegalArgumentException( "byte array size > 4 !" );
090      }
091      int r = 0;
092      if (asc)
093        for ( int i = buf.length - 1; i >= 0; i--)
094          {
095          r <<= 8;
096          r |= (buf[i] & 0x000000ff);
097        }
098      else
099        for ( int i = 0; i < buf.length; i++)
100          {
101          r <<= 8;
102          r |= (buf[i] & 0x000000ff);
103        }
104      return r;
105 }
106
107 public final static long getLong( byte [] buf, boolean asc)
108 {
109      if (buf == null )
110      {
111        throw new IllegalArgumentException( "byte array is null!" );
112      }
113      if (buf.length > 8)
114      {
115        throw new IllegalArgumentException( "byte array size > 8 !" );
116      }
117      long r = 0;
118      if (asc)
119        for ( int i = buf.length - 1; i >= 0; i--)
120          {
121          r <<= 8;
122          r |= (buf[i] & 0x00000000000000ff);
123        }
124      else
125        for ( int i = 0; i < buf.length; i++)
126          {
127          r <<= 8;
128          r |= (buf[i] & 0x00000000000000ff);
129        }
130      return r;
131 }
分享到:
评论

相关推荐

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

    本文将详细介绍如何在Java中将`byte`数组与其他基本数据类型(如`int`、`long`、`short`、`byte`)之间进行转换。 首先,我们来看`byte`到`int`的转换。Java中的`byte`类型是8位的,取值范围是-128到127。如果要将...

    long 和 int 的相互转换.docx

    本文将详细讲解如何在Java中进行long和int的相互转换。 一、long转int 在Java中,long型数据比int型数据大,它能存储更大的整数值。当我们尝试将一个long型变量转换为int型时,需要注意可能会有数据丢失的风险,...

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

    本文将详细介绍如何实现int、char、double与byte类型之间的相互转换,并通过具体的示例代码来阐述每一种转换方法。 ### 一、int类型转换为byte数组 #### 方法:intToByte() 该方法接收一个int类型的参数`number`,...

    java 举例分析 equals hashcode 基本类型与基本对象的比较 shot与Short int与Integer long与Long

    举例分析 equals 和 hashcode 方法,hashcode应该怎么样生成 8个基本类型与基本对象的比较:byte与Byte shot与Short int与Integer long与Long float与Float double与Double char与Character

    java实现的字节数组转换成基本类型,基本类型转换成byte[]

    char short int long float double 转换成byte数组

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

    字符类型在 Java 中是 16 位的 Unicode 字符,转换成 byte 数组需要将字符类型转换成 int 类型,然后将 int 类型转换成 byte 数组。例如: ```java public static byte[] charToByteArr(char ch) { byte[] b = new...

    Java byte数组与其他类型转换

    本文将深入探讨如何在Java中将byte数组与其他基本类型(如short、int、long)进行转换,这些转换在处理二进制数据、网络通信或序列化等方面至关重要。 首先,我们来看byte数组与short之间的转换。在Java中,byte...

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

    例如,我们可以将byte数组转换为short类型、int类型、long类型、float类型、double类型、char类型等。这种转换可以使用相应的构造函数或方法来实现。 在Java编程中,将基本类型转换为byte数组或将byte数组转换为...

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

    在Java编程语言中,基本类型的变量(如`short`、`int`、`long`、`char`、`double`和`float`)和`byte`数组之间的相互转换是一项非常实用的技术,尤其是在网络通信、文件读写等场景下。下面将详细介绍如何进行这些...

    java代码-1·byte short int 在计算是会自动转化为int 2.float double 为近似值,byte short int 转化时可能会精确丢失 3.把大类型转化小的类型时可能会丢失

    当一个大数值类型(如long或double)转换为一个小数值类型(如byte、short或int)时,如果原始值超过了目标类型的最大值,转换后的结果将会截断,而不是引发错误。这种行为被称为截断转换,可能导致数据丢失。例如:...

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

    这些基本类型可以相互转换,例如将 short 类型转换成 byte 数组、int 类型转换成 byte 数组等。 在 Java 中,基本类型可以使用 bitwise 运算符来实现与 byte 数组的转换。例如,将 short 类型转换成 byte 数组可以...

    谈谈Java中整数类型(short int long)的存储方式

    Java中数据类型的转换顺序是从byte、short、char到int,然后依次是long、float和double,这种顺序被称为类型提升。 需要注意的是,类型转换可能引发溢出问题。例如,当一个大于int最大值的long值尝试转换为int时,...

    C++到C#数据类型转换

    * SHORT (short) 转换为 System.Int16 * WORD (unsigned short) 转换为 System.UInt16 * INT (int) 转换为 System.Int32 * UINT (unsigned int) 转换为 System.UInt32 * LONG (long) 转换为 System.Int32 * ULONG ...

    android byte[] 和short[]转换的方法代码

    在将 `byte[]` 转换为 `short` 时,需要考虑到字节顺序。以下是一个简单的转换方法: ```java public short getShort(byte[] buf, boolean bBigEnding) { if (buf == null) { throw new ...

    Byte-Short-Int-Long-Java-Primitive-Types:字节短整数长Java原语类型

    在“Byte-Short-Int-Long-Java-Primitive-Types-main”这个项目中,可能包含了与这些原生类型相关的示例代码、测试和文档,供学习者更直观地理解和应用这些概念。通过分析这些文件,可以加深对Java整数类型的掌握,...

    java之java类型转换

    因此,byte、short、char 可以自动转换为 int,int 可以自动转换为 long,long 可以自动转换为 float,float 可以自动转换为 double。 在 Java 中,强制转换可能会导致溢出或精度的下降,因此需要小心使用。例如,...

    java数据类型转byte数组

    ip地址转4字节byte,char转2字节byte,byte数组转char,int整数转换为4字节的byte数组,byte数组转换为int整数,double类型转8字节数组,8位数组转double,long整数转换为8字节的byte数组,short整数转换为2字节的...

    java数据类型转换.pdf

    Java允许低级别数据类型自动转换为高级别数据类型,如byte到int,但不支持平级之间的自动转换,如byte到short。高级别数据类型转换为低级别数据类型需要使用强制类型转换,但可能造成数据溢出或精度损失。 2. 字符...

    JAVA变量类型之间的相互转换

    ### JAVA变量类型之间的相互转换详解 在JAVA编程中,数据类型的转换是常见且重要的操作,尤其是在处理不同数据源或进行复杂运算时。本文将详细解析JAVA中各种基本数据类型(如`byte`、`short`、`int`、`long`、`...

    switch语句能否作用在byte上,能否作用在long上,能否作用在String上

    首先,对于`byte`类型,由于`byte`可以直接隐式转换为`int`类型,因此在`switch`语句中是可以使用的。这意味着如果你有一个`byte`变量,你可以直接在`switch`表达式中使用它,或者将其转换为`int`后使用。同样的规则...

Global site tag (gtag.js) - Google Analytics