java中byte数组与int,long,short间的转换
来源:互联网 发布:tomcat绑定域名访问 编辑:程序博客网 时间:2024/05/22 12:39
- package com.util;
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- public class ByteUtil {
-
-
-
-
-
-
-
-
- public static void putShort(byte b[], short s, int index) {
- b[index + 1] = (byte) (s >> 8);
- b[index + 0] = (byte) (s >> 0);
- }
-
-
-
-
-
-
-
-
-
- public static short getShort(byte[] b, int index) {
- return (short) (((b[index + 1] << 8) | b[index + 0] & 0xff));
- }
-
-
-
-
-
-
-
-
- public static void putInt(byte[] bb, int x, int index) {
- bb[index + 3] = (byte) (x >> 24);
- bb[index + 2] = (byte) (x >> 16);
- bb[index + 1] = (byte) (x >> 8);
- bb[index + 0] = (byte) (x >> 0);
- }
-
-
-
-
-
-
-
-
-
- public static int getInt(byte[] bb, int index) {
- return (int) ((((bb[index + 3] & 0xff) << 24)
- | ((bb[index + 2] & 0xff) << 16)
- | ((bb[index + 1] & 0xff) << 8) | ((bb[index + 0] & 0xff) << 0)));
- }
-
-
-
-
-
-
-
-
- public static void putLong(byte[] bb, long x, int index) {
- bb[index + 7] = (byte) (x >> 56);
- bb[index + 6] = (byte) (x >> 48);
- bb[index + 5] = (byte) (x >> 40);
- bb[index + 4] = (byte) (x >> 32);
- bb[index + 3] = (byte) (x >> 24);
- bb[index + 2] = (byte) (x >> 16);
- bb[index + 1] = (byte) (x >> 8);
- bb[index + 0] = (byte) (x >> 0);
- }
-
-
-
-
-
-
-
-
- public static long getLong(byte[] bb, int index) {
- return ((((long) bb[index + 7] & 0xff) << 56)
- | (((long) bb[index + 6] & 0xff) << 48)
- | (((long) bb[index + 5] & 0xff) << 40)
- | (((long) bb[index + 4] & 0xff) << 32)
- | (((long) bb[index + 3] & 0xff) << 24)
- | (((long) bb[index + 2] & 0xff) << 16)
- | (((long) bb[index + 1] & 0xff) << 8) | (((long) bb[index + 0] & 0xff) << 0));
- }
-
-
-
-
-
-
-
- public static void putChar(byte[] bb, char ch, int index) {
- int temp = (int) ch;
-
- for (int i = 0; i < 2; i ++ ) {
- bb[index + i] = new Integer(temp & 0xff).byteValue();
- temp = temp >> 8;
- }
- }
-
-
-
-
-
-
-
- public static char getChar(byte[] b, int index) {
- int s = 0;
- if (b[index + 1] > 0)
- s += b[index + 1];
- else
- s += 256 + b[index + 0];
- s *= 256;
- if (b[index + 0] > 0)
- s += b[index + 1];
- else
- s += 256 + b[index + 0];
- char ch = (char) s;
- return ch;
- }
-
-
-
-
-
-
-
-
- public static void putFloat(byte[] bb, float x, int index) {
-
- int l = Float.floatToIntBits(x);
- for (int i = 0; i < 4; i++) {
- bb[index + i] = new Integer(l).byteValue();
- l = l >> 8;
- }
- }
-
-
-
-
-
-
-
-
- public static float getFloat(byte[] b, int index) {
- int l;
- l = b[index + 0];
- l &= 0xff;
- l |= ((long) b[index + 1] << 8);
- l &= 0xffff;
- l |= ((long) b[index + 2] << 16);
- l &= 0xffffff;
- l |= ((long) b[index + 3] << 24);
- return Float.intBitsToFloat(l);
- }
-
-
-
-
-
-
-
-
- public static void putDouble(byte[] bb, double x, int index) {
-
- long l = Double.doubleToLongBits(x);
- for (int i = 0; i < 4; i++) {
- bb[index + i] = new Long(l).byteValue();
- l = l >> 8;
- }
- }
-
-
-
-
-
-
-
-
- public static double getDouble(byte[] b, int index) {
- long l;
- l = b[0];
- l &= 0xff;
- l |= ((long) b[1] << 8);
- l &= 0xffff;
- l |= ((long) b[2] << 16);
- l &= 0xffffff;
- l |= ((long) b[3] << 24);
- l &= 0xffffffffl;
- l |= ((long) b[4] << 32);
- l &= 0xffffffffffl;
- l |= ((long) b[5] << 40);
- l &= 0xffffffffffffl;
- l |= ((long) b[6] << 48);
- l &= 0xffffffffffffffl;
- l |= ((long) b[7] << 56);
- return Double.longBitsToDouble(l);
- }
- }
- java中byte数组与int,long,short间的转换
- java中byte数组与int,long,short间的转换 .
- java中byte数组与int,long,short间的转换
- java中byte数组与int,long,short间的转换
- java中byte数组与int,long,short间的转换 (以备查阅)
- java中byte数组与int,long,short间的转换
- java中byte数组与int,long,short间的转换
- java中byte数组与int,long,short间的转换
- java中byte数组与int,long,short间的转换
- java byte数组与int,long,short,byte转换
- java byte数组与int,long,short,byte转换
- java中long,int,short与byte数组之间的转换
- java中long,int,short与byte数组之间的转换
- java中byte数组与int,long,short,float,char之间的转换
- java中byte数组与int,long,short,float,char之间的转换
- java中long,int,short与byte数组之间的转换
- Java中byte数组与short,int,char,long,float,double之间的转换
- java中long,int,short与byte数组之间的转换
- C++模板学习
- [Python下载CSDN博客]2. 使用BeautifulSoup分析HTML(一)
- 影响MySQL之IO性能最重要的几个参数
- 我的C++学习之路--04.C++的“引用”
- 一个公司的管理之五:招聘的总结
- java中byte数组与int,long,short间的转换
- SQl Update 某字段的部分值
- 飞行(Mcool) 13.0.03106 简体中文绿色版
- javascript图片轮播特效
- Markov Random Field
- 腾讯开放平台荣获“中国互联网生态价值之星”
- MySQL InnoDB引擎影响IO性能的参数
- /etc/hosts主机名映射
- jsp