"Искусство программирования" (задача 3)

(1/3) > >>

vimmax:
Написать подпрограмму, вычисляющую количество единиц в бинарном представлении целого числа, например в числе 6 две единицы (6 = 0110bin), в числе 7 три единицы (7 = 0111bin).

Условия:
Реализацию этого алгоритма можно предложить на любом языке программирования. Мой
ответ на ANSI С.

Будет защитан только самый быстрый алгоритм, т.е. подпрограмма должна быть оптимизирована по времени.

BODROV:
Цитировать

     mov bx, x
     mov ax, 0
     mov cx, 16
m: rcl bx, 1
     adc ax, 0
     loop m

в результате в ax кол-во единиц. но что-то мне подсказыавет, что это не самый лучший вариат....

vimmax:
BODROV - Ответ #1 - вау, скока программистов на асме нашлось!!!!
Ответ хороший, но не самый быстрый. Фишка данной задачи в том, что ответ можно реализовать на любом языке программирования. Хотя ответ немного абсурдный.....но самый быстрый.

Archangel:
Ставишь мультиплексоры, а после них счетчики:). Работать будет быстрее всего остального.

vimmax:
Archangel - Ответ #3 - Может быть и быстрее, но сейчас тема "Искусство программирования", а не "Искусство схемотехники" )))

Навигация

[0] Главная страница сообщений

[#] Следующая страница