yes I tried bit shifts with:
unsigned long b1 = buffer[1] * 1 << 32;
unsigned long b2 = buffer[2] * 1 << 16;
unsigned long b3 = buffer[3] * 1 << 8;
unsigned long b4 = buffer[4] * 1 << 0;
unsigned long val = b1 + b2 +b3 + b4;
but didn't worked therefore i switched to pow....