[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]

Отправлено Xan 27 сентября 2001 г. 11:34
В ответ на: кто нибудь объяснит как это "через таблицу"? отправлено nvn 27 сентября 2001 г. 10:57

Содержимое байта используется как индех в таблице длиной 256.
Если байт = 0, то берётся первая строчка, в которой записан 0.
Если байт = 1, то берётся вторая строчка, в которой записана 1.
Если байт = 2, то берётся третья строчка, в которой записана 1.
Если байт = 3, то берётся четвёртая строчка, в которой записана 2.
Если байт = 4, то берётся пятая строчка, в которой записан 1.
. . .
Если байт = 0F, то берётся шестнадцатая строчка, в которой записана 4.
. . .
Если байт = FF, то берётся последняя строчка, в которой записана 8.

Могу объяснить ЕЩЁ подробнее 8-[]
:-)

"Самый короткий способ" - он во времени выполнения самый короткий. Но самый длинный в памяти.

А вот средней короткости способ:
Счётчик = 0
Если бит-0 установлен, то инкремент Счётчика
Если бит-1 установлен, то инкремент Счётчика
Если бит-2 установлен, то инкремент Счётчика
Если бит-3 установлен, то инкремент Счётчика
Если бит-4 установлен, то инкремент Счётчика
Если бит-5 установлен, то инкремент Счётчика
Если бит-6 установлен, то инкремент Счётчика
Если бит-7 установлен, то инкремент Счётчика
Готово.

А вот делать цикл по восьми битам . . .

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

Ответы



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

E-mail: info@telesys.ru