@DanKruit

Как в байте поменять порядок следования битов на Pascal?

Допустим:
b:=$C9; // 1100 1001
b:=...; // какие-то побитные операции
writeln(b);

Результат должен быть 1001 0011 = $93 = 147
Но запрещено использовать условия и циклы
  • Вопрос задан
  • 321 просмотр
Решения вопроса 1
@Sumor
Можно просто влоб:
b:= (b and $80 shr 7) or (b and $40 shr 5) or (b and $20 shr 3) or (b and $10 shr 1) or 
    (b and $08 shl 1) or (b and $04 shl 3) or (b and $02 shl 5) or (b and $01 shl 7);
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
tsklab
@tsklab
Здесь отвечаю на вопросы.
Использовать таблицу перевертышей.
Или использовать ассемблер ROL.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы