[an error occurred while processing this directive] [an error occurred while processing this directive]
Ответ: Это на ассемблере(+)
(«Телесистемы»: Конференция «Микроконтроллеры и их применение»)
[an error occurred while processing this directive] [an error occurred while processing this directive] [an error occurred while processing this directive]

Отправлено IgorK 16 октября 2001 г. 03:10
В ответ на: Ответ: сдвинуть источник вправо через перенос, затем влево приемник, тоже через перенос, и так 8 раз отправлено Sasha 16 октября 2001 г. 00:32

А я недавно делал на 'C'. Объявляются две вспомогательные переменные-маски (у меня было 10 бит, так что unsigned short). Для примера с 8 битами - стартовое значение первой маски 256, второй 1. В цикле по j от 1 до 8 первая сдвигается >> на j вторая << на j. Одна из масок служит для анализа бита j, вторая для того чтобы выставить '1' в 'зеркальном' разряде если результат анализа значения с замаскированными битами не '0'. В цикле происходит сложение накапливающегося результата по '|'.

Warning. Я не программист.

Составить ответ  |||  Конференция  |||  Архив

Ответы



Перейти к списку ответов  |||  Конференция  |||  Архив  |||  Главная страница  |||  Содержание  |||  Без кадра

E-mail: info@telesys.ru