Multiplikation mit shift und a < Algor.+Datenstr. < Theoretische Inform. < Hochschule < Informatik < Vorhilfe
|
Status: |
(Frage) beantwortet | Datum: | 15:01 So 21.11.2010 | Autor: | Parkan |
Aufgabe | Geben Sie eine Folge von Java operationen an mit denen man die folgenden Berechnungen effizient durch shifts und addition ersetzen könnte. Nehmen Sie für die Variablen x und y den Datentyp int an.
y= 20 * x
y= 31 * (x+3) |
Also wird dürfen keine Schleifen benutzen. Nur << >> und +.
Leider habe ich jetzt immer nur für ein bestimmtes x ein Weg finden können. Weis jemand wie man so eine Multiplikation mit shift und + umsetzt?
Mfg
Janina
|
|
|
|
Status: |
(Antwort) fertig | Datum: | 23:10 So 21.11.2010 | Autor: | felixf |
Hallo Janina!
> Geben Sie eine Folge von Java operationen an mit denen man
> die folgenden Berechnungen effizient durch shifts und
> addition ersetzen könnte. Nehmen Sie für die Variablen x
> und y den Datentyp int an.
>
> y= 20 * x
> y= 31 * (x+3)
>
> Also wird dürfen keine Schleifen benutzen. Nur << >> und
> +.
> Leider habe ich jetzt immer nur für ein bestimmtes x ein
> Weg finden können. Weis jemand wie man so eine
> Multiplikation mit shift und + umsetzt?
Nun, zum Beispiel kannst du $3 * x$ umschreiben als $x + x + x$. Oder als $2 * x + x$, und $2 * x$ ist $x << 1$.
Beachte einfach, dass $x << n = x [mm] \cdot 2^n$ [/mm] ist.
Und jetzt probier selber ein wenig...
LG Felix
|
|
|
|