因为我读一个二进制文件,这个二进制文件是通过c保存的,所以里面会有一些无符号整型unsigned int
我是用DataInputStream.readUnsignedByte()来把这四个字节读到一个byte数组里,然后我该怎么把这个byte数组变成一个long呢?
我是用DataInputStream.readUnsignedByte()来把这四个字节读到一个byte数组里,然后我该怎么把这个byte数组变成一个long呢?
byte b[8];
然后给buffer内读入值, 再强转, long l = (long)b就可以了
public class Welcome
{
public static void main(String[] args)
{
int i=0xffffffff;
long l=0;
if(i<0){
i &= ~0x80000000;
l = 0x80000000l;
}
l |= i;
System.out.printf("%016x",l);
}
}