I had the same issue using I2C - the XYZ values received by reading 6 bytes in one go were as Neha Tawale described. In my case the solution was to enable automatic incrementation of the address register by adding 0x80 to the address value.
Another solution is to enable register address auto-incrementation. It is enabled by adding value 0x80 to the register address. For example: i2cread(DEVICE_ADDRESS, OUT_X_L | 0x80, buffer, 6); to read 6 register bytes in one go, starting at address ...