C
cccc
Hi,
I want translate 8 byte to a long.
But I am a problem.
The source code that I am using is:
char[] data={0x3f, 0xe7, 0x5d, 0x40, 0x5f, 0x50, 0xcc, 0x33};
long as =
(0xFF & data[0]) << 56 |
(0xFF & data[1]) << 48 |
(0xFF & data[2]) << 40 |
(0xFF & data[3]) << 32 |
(0xFF & data[4]) << 24 |
(0xFF & data[5]) << 16 |
(0xFF & data[6]) << 8 |
(0xFF & data[7]);
System.out.println("BIN="+Long.toBinaryString(as));
System.out.println("HEX="+Long.toHexString(as));
Why first print show 32 bit instead of 64?
Why second print show a hexadecimal value different to array?
You can help me?
Ciao,
CC
I want translate 8 byte to a long.
But I am a problem.
The source code that I am using is:
char[] data={0x3f, 0xe7, 0x5d, 0x40, 0x5f, 0x50, 0xcc, 0x33};
long as =
(0xFF & data[0]) << 56 |
(0xFF & data[1]) << 48 |
(0xFF & data[2]) << 40 |
(0xFF & data[3]) << 32 |
(0xFF & data[4]) << 24 |
(0xFF & data[5]) << 16 |
(0xFF & data[6]) << 8 |
(0xFF & data[7]);
System.out.println("BIN="+Long.toBinaryString(as));
System.out.println("HEX="+Long.toHexString(as));
Why first print show 32 bit instead of 64?
Why second print show a hexadecimal value different to array?
You can help me?
Ciao,
CC