1. int转byte
public static byte[] int2bytes(int i) {
byte[] b = new byte[4];
b[0] = (byte) (0xff&i);
b[1] = (byte) ((0xff00&i) >> 8);
b[2] = (byte) ((0xff0000&i) >> 16);
b[3] = (byte) ((0xff000000&i) >> 24);
return b;
}
2. byte转int
public static int bytes2int(byte[] bytes) {
int num = bytes[0] & 0xFF;
num |= ((bytes[1] << 8) & 0xFF00);
num |= ((bytes[2] << 16) & 0xFF0000);
num |= ((bytes[3] << 24) & 0xFF000000);
return num;
}
3. byte转long
public static long bytes2long(byte[] b) {
long temp = 0;
long res = 0;
for (int i=0;i<8;i++) {
res <<= 8;
temp = b[i] & 0xff;
res |= temp;
}
return res;
}
4. long 转byte
public static byte[] long2bytes(long num) {
byte[] b = new byte[8];
for (int i=0;i<8;i++) {
b[i] = (byte)(num>>>(56-(i*8)));
}
return b;
}
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
big endian是指低地址存放最高有效字节(MSB),而little endian则是低地址存放最低有效字节(LSB)。
Big Endian
低地址 高地址
----------------------------------------->
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| 12 | 34 | 56 | 78 |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Little Endian
低地址 高地址
----------------------------------------->
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| 78 | 56 | 34 | 12 |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
分享到:
相关推荐
下面小编就为大家带来一篇java int转byte和long转byte的方法。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
JAVA转byte[]为int,long,double
下面小编就为大家带来一篇java byte数组与int,long,short,byte的转换实现方法。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
分别给大家介绍了Java中byte和int之间的转换、Java中 byte数组和int之间的转换、Java中byte数组和long之间的转换以及整理了整体工具类的源码,需要的朋友可以参考借鉴,下面来一起看看吧。
VC (CString,char,int,long,string,byte...)名种类形间的转换
ip地址转4字节byte,char转2字节byte,byte数组转char,int整数转换为4字节的byte数组,byte数组转换为int整数,double类型转8字节数组,8位数组转double,long整数转换为8字节的byte数组,short整数转换为2字节的...
LongInt与字节数组的转换带源码 Float与字节数组的转换带源码 Double与字节数组的转换带源码
char short int long float double 转换成byte数组
一些工具类代码块的标准代码,包括但不限于: 十六进制字符串转换为byte数组 char转换为byte数组 16进制转化为数字 ytes数组转16进制String byte数组转换为十六进制字符串 ...Long转Int String转Long Long转String
2、switch语句能否作用在byte上,能否作用在long上,能否作用在String上 在switch(expr1)中...显然,long和String类型都不符合switch的语法规定,并且不能被隐式转换成int类型,所以,它们不能作用于swtich语句中。
举例分析 equals 和 hashcode 方法,hashcode应该怎么样生成 8个基本类型与基本对象的比较:byte与Byte shot与Short int与Integer long与Long float与Float double与Double char与Character
* long: 长整数类型 占8个字节 64位二进制 byte[0] byte[1] byte[2] byte[3] byte[4] byte[5] * byte[6] byte[7] * float: 浮点数(小数) 占4个字节 32位二进制 byte[0] byte[1] byte[2] byte[3] * ...
C/C++的数据类型: 一,整型 Turbo C: [signed] int 2Byte//有符号数,-32768~... long [int] 4 Byte unsigned long [int] 4 Byte Visual C++ 6.0: [signed] int 4Byte unsigned int 4Byte [signed] short [in
bool __stdcall encodebcd(BYTE *buf,long val,int bl); long __stdcall decodebcd(BYTE *buf,int bl); BYTE __stdcall checksum(BYTE *buf,int bl); BYTE __stdcall checkxor(BYTE *buf,int bl); void __stdcall ...
int Getinput1(byteint result,unsigned long input); //将长整形数转换为对应的大数形式 void RsaDo(byteint source,byteint R,byteint key,byteint desti); //实现加解密 unsigned long Os2ip(unsigned char* ...
通过使用位移的方法实现Int<--> Byte[] <--> Long数据类型之间的转换
byte→short(char)→int→long→float→double 也就是说byte类型的变量可以自动转换为short类型,示例代码: byte b = 10; short sh = b; 这里在赋值时,JVM首先将b的值转换为short类型,然后再赋值给sh。 在类型...
void Hist_plane(BYTE *image_in, BYTE *image_out, int xsize, int ysize, long hist[256]); /*--------------------------特征提取-----------------------------*/ 20.区域标记 int Labeling(BYTE *image_in, ...
这些方法后面都有Exact(),在老的JDK版本中,已经有了byteValue,intValue,longValue()为什么还要再增加这些方法呢? 因为在原来的方法中,如果BigInteger的值溢出了要目标类型的范围,是不会有任何提示的,...
一些初学JAVA的朋友可能会遇到JAVA的数据类型之间转换的苦恼,例如,整数和float,double型之间的转换,整数和String类型之间的转换,以及处理、显示时间方面的问...byte、short、int、long;浮点型float、double。其