Adding High Byte and Low Byte of LSM303DLHC Accelerometer Output
You are sticking the bytes together in the wrong order. since ACC_Data[0] is the low byte, and ACC_Data[1] is the high byte, you need to shift ACC_Data[1] left by 8, and add it to ACC_Data[0] (unshifted) to get the correct int value.