Re: zamiana dec na hex bez dzielenia
Masz problem? Zapytaj na forum elektroda.pl
From: "Piotr Wyderski" <Piotr.Wyderski_at_nospam_ii.uni.wroc.pl>
Subject: Re: zamiana dec na hex bez dzielenia
Date: Mon, 19 Mar 2001 13:16:27 +0100
Użytkownik "Juliusz" <jul_at_nospam_fom.pl> napisał w wiadomości
news:992174$hoi$1_at_nospam_news.tpi.pl...
Witam.
Jak robicie koledzy zamiane liczby dziesietnej, z przedzialu 0-255,
siedzacej w 3 rejestrach AVR'a na bajt ?
Chodzi mi o mozliwie optymalny kod pod wzgledem ilosci uzytych rozkazow
assemblerowych.
Witam !
Nie znam AVR, ale jesli ma on przesuwanie zawartosci rejestru w lewo
o stala wartosc, to da sie to zrobic przy pomocy 5 przesuniec i 5 dodawan.
Ale czy to jest optymalne ? Moze ten AVR potrafi mnozyc dwa rejestry ?
Pozdrawiam
Piotr Wyderski
From: "Piotr Wyderski" <Piotr.Wyderski_at_nospam_ii.uni.wroc.pl>
Subject: Re: zamiana dec na hex bez dzielenia
Date: Mon, 19 Mar 2001 13:21:59 +0100
Mozna jeszsze takim "schematem Hornera".
Skoro chcesz obliczyc y=a*100+b*10+c
majac dane te trzy komorki a,b i c, to mozna
to zapisac taki:
y = ((a*10)+b)*10+c
A przez 10 to sie juz szybko mnozy przesunieciami.
Pozdrawiam
Piotr Wyderski
From: "Juliusz" <jul_at_nospam_fom.pl>
Subject: Re: zamiana dec na hex bez dzielenia
Date: Mon, 19 Mar 2001 20:00:44 +0100
"Piotr Wyderski" <Piotr.Wyderski_at_nospam_ii.uni.wroc.pl> wrote in message
news:994tkh$4id$1_at_nospam_panorama.wcss.wroc.pl...
Mozna jeszsze takim "schematem Hornera".
Skoro chcesz obliczyc y=a*100+b*10+c
majac dane te trzy komorki a,b i c, to mozna
to zapisac taki:
y = ((a*10)+b)*10+c
Ha ! a ja wlasnie wpadlem na to, ze jesli setki sa z przedzialu 0..2 to
prawdziwe jest twierdzenie, ze wystarczy zrobic swap a ! i mamy od razu razu
10
juliusz