Подумайте логически. У вас цикл считает от 7 к 0, вы приняли первый бит, допустим - он "1", вы установили "1" в старшем бите, а потом сдвинули байт влево и эта "1" просто выпала из байта.
А щастья может не быть потому что считаете от 7, но это я так, заранее предполагаю следующий шаг.