java中int类型和byte[]数组之间的转换
来源:互联网 发布:最小二乘法c语言程序 编辑:程序博客网 时间:2024/06/10 20:10
int和byte[]之间的转换用的比较多的情况是在网络编程中,socket在传输过程中多以byte[]的形式出现
int转byte[]
java里int是32位即4个byte,所以要把int转成byte数组要用长度4的byte[]接收,
b[0] = (byte) (n & 0xff); 表示接收int末8位数据
b[1] = (byte) (n >> 8 & 0xff); 先将9-16位的数据右移到末8位,
再与11111111做与运算过滤掉高位,仍然保留末8位数据,这是为了获取int n的9-16位的byte值。
后面的原理同上,都是为了将要取值的位数先移动到末8位,再取值
/** * int转byte数组 * * @param n * @return */private static byte[] intToByteLH(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;}
byte[]转int
public static int byte2int(byte[] res) {// 一个byte数据左移24位变成0x??000000,再右移8位变成0x00??0000int targets = (res[0] & 0xff) | ((res[1] << 8) & 0xff00) // | 表示安位或| ((res[2] << 24) >>> 8) | (res[3] << 24);return targets;}
0 0
- java中int类型和byte[]数组之间的转换
- Java中byte[]数组和int之间的转换
- Java 中 byte、byte 数组和 int、long 之间的转换
- Java 中 byte、byte 数组和 int、long 之间的转换
- Java 中 byte、byte 数组和 int、long 之间的转换
- Java 中 byte、byte 数组和 int、long 之间的转换
- Java 中 byte、byte 数组和 int、long 之间的转换
- java中byte数组与int类型之间的相互转换(两种方式)
- java中byte数组与int类型之间的相互转换(两种方式)
- byte[]数组和int之间的转换
- byte[]数组和int之间的转换
- byte[]数组和int之间的转换
- byte[]数组和int之间的转换
- byte[]数组和int之间的转换
- byte[]数组和int之间的转换
- byte[]数组和int 之间的转换
- byte[]数组和int之间的转换
- byte[]数组和int之间的转换
- JVM内存模型及垃圾收集策略解析
- http基础知识01
- 深入分析JavaWeb 21 -- JSTL核心标签库
- Android数据库更新并保留原来数据的实现
- java中映射表
- java中int类型和byte[]数组之间的转换
- UIBezierPath和CAShapeLayer 阅读笔记
- 自身android技术不足点
- datatable 列排序
- CSP-Bypass – BurpSuite CSP绕过检测插件
- centos7 关闭firewall安装iptables并配置
- 浏览器滚动条相关
- 欢迎使用CSDN-markdown编辑器
- reduce个数到底和哪些因素有关