Я вообще не понимаю, что ты делаешь. Если код уже есть и работает - зачем ты туда полез? Всё равно эти поля после компиляции именно так и обрабатываются - сдвигами и масками, никакого выигрыша ты не получишь. Оставь уже и не трогай. Если что, перепиши чтение/запись полей инлайн функциями, и всё.
надо придумать объяснение этому мудизму, иначе рехнуться можно