OK, all of you bit shifting experts. I’m stumped on solving a problem. I know how to convert a long to a byte array
long value = 12354235123;
var buffer = new byte[8];
buffer[0] = (byte)value;
buffer[1] = (byte)(value >> 8);
buffer[2] = (byte)(value >> 16);
buffer[3] = (byte)(value >> 24);
buffer[4] = (byte)(value >> 32);
buffer[5] = (byte)(value >> 40);
buffer[6] = (byte)(value >> 48);
buffer[7] = (byte)(value >> 56);
However, I’m having trouble converting the byte array back to a long. Here’s code I grabbed off the Internet which isn’t working:
long value = (buffer[0] << 0 |
buffer[1] << 8 |
buffer[2] << 16 |
buffer[3] << 24 |
buffer[4] << 32 |
buffer[5] << 40 |
buffer[6] << 48 |
buffer[7] << 56);
Any help would be greatly appreciated.