| Микроконтролери и електроника http://mcu-bg.com/mcu_site/ |
|
| Функция http://mcu-bg.com/mcu_site/viewtopic.php?f=16&t=15408 |
Страница 1 от 1 |
| Автор: | Н'бабане Гт'муан'га [ Съб Авг 05, 2017 8:39 pm ] |
| Заглавие: | Функция |
За един документ ми трябва математическа функция (не програмна) която да връща броя на байтовете които дадено число заема. Примери: F(214) = 1, защото 214 е еднобайтово число. F(577987) = 3, защото 524288 <= 577987 < 1048576, т.е. числото е 20-битово което е 3 байта. F(23746238387987) = 6 и т.н... Някой математик ако може да удари едно рамо как се изразява това като функция |
|
| Автор: | ToHu [ Съб Авг 05, 2017 9:23 pm ] |
| Заглавие: | Re: Функция |
aaaaa малко не разбирам, каква рлзика виждаш между математическа и програмна в случая ... защото математическата ще излезе от ограничението в един байт да имаш макс 256 ... малко ... това ти е log с основа 2 закръглен към следваото кратно на 8. log 2 може да го изразиш и като натурален или десеттичен логаритъм. Но чисто математически закръглението .... p.s. то може инаправо логаритъм с основа 256 и да закръгляш към следващото по-голямо, номатематическа функция за закръгление .. малко не се сещам. |
|
| Автор: | jig.tak [ Нед Авг 06, 2017 12:03 am ] |
| Заглавие: | Re: Функция |
Y=ceiling(ln(X)/ln(256)) става със всякаква основа логаритъм за отрицателни числа няма да работи |
|
| Автор: | ToHu [ Нед Авг 06, 2017 1:24 am ] |
| Заглавие: | Re: Функция |
ceiling каква мат. функция е Ако говорим за програмен способ няма никаква нужда да смяташ алгоритми или каквото и да е, просто търсиш най-старшия бит в който имаш единица, или просто проверваш кой е най-старшият байт от променливтаа който е >0. Това работи и за отрицателни и за положителни и за всякакви |
|
| Автор: | jig.tak [ Нед Авг 06, 2017 7:18 pm ] | ||
| Заглавие: | Re: Функция | ||
има доста извратени мат функции, но тази поне има очевиден смисъл https://www.mathsisfun.com/sets/functio ... iling.html
|
|||
| Автор: | slav4o.com [ Сря Авг 23, 2017 9:42 pm ] |
| Заглавие: | Re: Функция |
А не може ли нещо от сорта ако числото е 0-255 е 1 байт, ако е 256-65535 е 2 байта и т.н. |
|
| Автор: | ToHu [ Сря Авг 23, 2017 11:06 pm ] |
| Заглавие: | Re: Функция |
Той иска формула, иначе както писах най-лесно е да проверява до къде има 1-ца в числото, дали побайтово или побитово все там. |
|
| Страница 1 от 1 | Часовете са според зоната UTC + 2 часа [ DST ] |
| Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group http://www.phpbb.com/ |
|