Java 字节数组(byte[])和整型(int)的相互转换

您所在的位置:网站首页 字符串转成字节数组的方法 Java 字节数组(byte[])和整型(int)的相互转换

Java 字节数组(byte[])和整型(int)的相互转换

2024-07-10 11:09| 来源: 网络整理| 查看: 265

文章目录 前言一、int 转换为 byte[]二、测试代码三、测试四、byte[] 转换为 int总结

前言

      恰巧碰到了字节数组和整型的转换问题,特在此总结一下。将 int 按照小端法映射到 byte[] 中。即最低 8 位放在 byte[0] 中,依次类推。

一、int 转换为 byte[]

      这个实现起来比较简单,先保存最低的 8 位到 byte 数组中,然后不断的右移 8 位,每次保存低 8 位数据即可,参考代码:(这里包含一个 int 到 byte 的转换,转换规则是截取 int 的最低 8 位作为 byte 值)

public static byte[] intToBytes(int a){ byte[] ans=new byte[4]; for(int i=0;i>(i*8));//截断 int 的低 8 位为一个字节 byte,并存储起来 return ans; } 二、测试代码

      为了验证转换结果,简单写了两个方法用来按位打印 int 和 byte,可参考如下:

public static void intPrint(int a){//将 int 按位从左到右打印 int count=0; for(int i=31;i>=0;i--){ System.out.print((a>>i)&1); count++; if(count==4){//每四位为一组,用空格分开 System.out.print(" "); count=0; } } System.out.println(); } public static void bytePrint(byte a){//将 byte 按位从左到右打印 int count=0; for(int i=7;i>=0;i--){ System.out.print((a>>i)&1); count++; if(count==4){//每四位为一组,用空格分开 System.out.print(" "); count=0; } } System.out.println(); } 三、测试

      测试一下 int 到 byte[] 的正确性:用一个整数来测试一下,如下:

public static void main(String[] args) { int c=968523,d=-65423; byte[] ans=intToBytes(d); intPrint(d); for(int i=0;i


【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3