Witam.
Czy jest jaki¶ sposób "sprytnego" dzielenia liczby np: jednobajtowej prze 3? Co¶ takiego jak przez 2 przesunêcie w prawo o jedn± pozycjê.
Chodzi o to ¿eby podzieliæ nie u¿ywaj±c mno¿enia i dzielenia.
Dziêkujê za pomoc Pawe³
Witam.
Czy jest jaki¶ sposób "sprytnego" dzielenia liczby np: jednobajtowej prze 3? Co¶ takiego jak przez 2 przesunêcie w prawo o jedn± pozycjê.
Chodzi o to ¿eby podzieliæ nie u¿ywaj±c mno¿enia i dzielenia.
Dziêkujê za pomoc Pawe³
tzn jak sprytnie? a co zrobisz z wynikiem w ktorym bedzie ulamek?
No w³a¶nie jak przez 2 to sprawdzalem falgê przeniesienia a tu nie bardzo.
Pawe³
Ano jest - pomnozyc przez 0,33 czyli x*(1/4+1/16+1/64+1/256). A to juz mozesz zrobic za pomoca prostych przesuniec.
z zasady przesuwanie ma sens tylko przy wielokrotnosci 2... raczej nie sprawdzi sie przy dzieleniu przez 3. (z tym 0,5 - to ja chyba jeszcze zaspany jestem, oczywiscie ze odrzucasz czesc ulamkowa, przepraszam ze sie odezwalem)
U¿ytkownik "Pawe³" snipped-for-privacy@poczta.onet.pl> napisa³ w wiadomo¶ci news:di03ti$208$ snipped-for-privacy@news2.onet...
Jasne :)) Odejmuj 3 i licz ile razy da siê to zrobiæ. pozdrawiam, Andrzej.
Hm, przemnozyc przez 85 i podzielic przez 256 ?
A to mnozenie to 4 dodawania. Jak sie uprzec to nawet nie trzeba na 16 bitach liczyc ..
J.
Te¿ tak my¶la³em. Fakt jest to chyba najprostrza metoda która od razu siê nasuwa, ale ma tê wadê ¿e d³ugo¶æ obliczeñ zale¿y od warto¶ci zmiennej.
Pozdrawiam Pawe³
U¿ytkownik "Pawe³" snipped-for-privacy@poczta.onet.pl> napisa³ w wiadomo¶ci news:di0e0u$sg1$ snipped-for-privacy@news2.onet...
co przy 1-bajtowej liczbie nie powinno mocno rzutowac ...
@Paweł napisał(a):
stablicuj to, będzie 256 wartości, porównujesz liczbę według sortowania i masz wynik.
Szczegolnie ze na poczatku mozna odejmowac np 30.
J.
Have something to add? Share your thoughts — no account required.
Ask the community — no account required