Значения из акселерометра, случайно, не являются двухбайтовыми? И не происходит ли обновление во время чтения второго байта? И в младшем слове, случайно, 3-4 младших бита не всегда нулевые (поэтому идёт на 3-4 бита сдвиг вправо, поэтому эти 64 реально -- 256)?