| Микроконтролери и електроника http://mcu-bg.com/mcu_site/ |
|
| определяне на броя единици в двоично число http://mcu-bg.com/mcu_site/viewtopic.php?f=7&t=7471 |
Страница 1 от 1 |
| Автор: | MidNighT_SpiRiT [ Пон Яну 18, 2010 1:54 pm ] |
| Заглавие: | определяне на броя единици в двоично число |
Колеги, извинявам се за глупавия въпрос, но не мога да намеря добро решение. Как най-ефективно може да се определи броя на единиците в поредица от 8 байта? Пъврото, което ми идва на ум е да направя масив от 256 елемента, като всеки ще съдържа броя единици на дадения индекс и така байт по байт само с индексиране ще получавам броя. Има ли по-добър начин чрез логически операции? |
|
| Автор: | relsys [ Пон Яну 18, 2010 3:14 pm ] | |||||||||
| Заглавие: | ||||||||||
|
||||||||||
| Автор: | zaphod [ Пон Яну 18, 2010 3:50 pm ] | |||||||||
| Заглавие: | Re: определяне на броя единици в двоично число | |||||||||
"добро" е широко понятие и с него се занимават повече разни хуманитарии. ако имаш предвид бързо, то твоята идея е най-бързия алгоритъм, не търси по-бърз от нея. ако пък добро означава пестящо памет, то твоята идея е най-лошата, тогава се прави с шифтване/тестване. |
||||||||||
| Автор: | zaphod [ Пон Яну 18, 2010 3:54 pm ] | ||||||||||||||||||
| Заглавие: | |||||||||||||||||||
това пък защо, просто трябва да шифтваш. оооох, забравих, паскала не може да шифтва |
|||||||||||||||||||
| Автор: | relsys [ Пон Яну 18, 2010 4:27 pm ] | ||||||||||||||||||||||||||||||||||||
| Заглавие: | |||||||||||||||||||||||||||||||||||||
хе-хе... добре де....
... но... да не мерим езиците, в случая доказахме, че програмирането по двойки е по-добрия вариант за писане на програми, и не на последно място, че Pascal не е WRITE ONLY като С, защото успя да разчетеш програмата |
|||||||||||||||||||||||||||||||||||||
| Автор: | perlsite [ Пон Яну 18, 2010 6:59 pm ] |
| Заглавие: | |
Точно C за мен е един от най-семплите и прости за четене езици. Но аз не съм критерии, защото обожавам Perl-а, който пък някои считат, че е най-лошият възможен език за разбиране(четене) |
|
| Автор: | MidNighT_SpiRiT [ Пон Яну 18, 2010 8:50 pm ] |
| Заглавие: | |
Мерси за отговорите, сега съм спокоен, че това е решението, поне в моя случай, защото памет има много |
|
| Автор: | TheHungry [ Пон Яну 18, 2010 9:20 pm ] |
| Заглавие: | |
http://www.keil.com/support/docs/194.htm |
|
| Автор: | zaphod [ Вто Яну 19, 2010 9:52 am ] | ||||||||||||||||||
| Заглавие: | |||||||||||||||||||
хм, да не мамиш нещо? аз навремето доста пишех на паскал, нямам спомен за shl. мисля че умножавах по 2 за да шифтна наляво, и делях на две за да шифтна на дясно. |
|||||||||||||||||||
| Автор: | vesko_hard [ Вто Яну 19, 2010 10:16 am ] |
| Заглавие: | |
Пиша на делфи и в него си има и shl и shr. |
|
| Автор: | 741 [ Вто Яну 19, 2010 11:19 am ] | |||||||||
| Заглавие: | ||||||||||
И борландските TP го имаха. |
||||||||||
| Автор: | relsys [ Вто Яну 19, 2010 3:20 pm ] |
| Заглавие: | |
То да не повярваш, ама го има даже и в компилатора за PIC... |
|
| Автор: | bontchevs [ Вто Яну 19, 2010 9:48 pm ] | |||||||||
| Заглавие: | Re: определяне на броя единици в двоично число | |||||||||
Това може и да е по-бързо. А може и да не е |
||||||||||
| Автор: | bobyk [ Вто Яну 19, 2010 10:24 pm ] |
| Заглавие: | |
Струва ми се ще е по-добре ако се раздели байта на половинки, много по-малко памет и само малко по-бавно. Сещате се, да не го разписвам сега... |
|
| Автор: | MidNighT_SpiRiT [ Сря Яну 20, 2010 6:26 pm ] |
| Заглавие: | |
Да, наистина това може би е по-добро решение, но при мен памет колкото искаш.. TheHungry мерси за линка, като гледам това са решенията на проблема. |
|
| Страница 1 от 1 | Часовете са според зоната UTC + 2 часа [ DST ] |
| Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group http://www.phpbb.com/ |
|