"Искусство программирования" (задача 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 - Может быть и быстрее, но сейчас тема "Искусство программирования", а не "Искусство схемотехники" )))
Навигация