2 16-Bit-Zahl multiplizieren

Gast #2667332
Lesenswert?

Hi!

Ich soll 2 16 Bit Zahlen multiplizieren.

Ich hab hier eine Formel:(x1 * F + x0) * (y1 * F + y0)

x=16 Bit-zahl
y=26 Bit-zahl

x1=High-Byte
x0=Low-Byte

y1=High-Byte
y0=Low-Byte

F=256(0....255)

Ich verstehe einfach nicht wie man auf die Formel da kommt. Kann mir das 
einer Bitte erklären?

Und warum mann gerade das High-Byte mit 256 multiplizieren muss.

mfg Mr Gast
Gast #2667338
Lesenswert?

Mr Gast schrieb:
> Ich hab hier eine Formel:(x1 * F + x0) * (y1 * F + y0)

Und was soll die bedeuten? Da ist ja nichtmal ein Gleichheitszeichen 
enthalten.

Wenn man alles mit Gleichheitszeichen hinschreibt, wird es ganz einfach:
x = x1 * 256 + x0
y = y1 * 256 + y0

->   x * y = (x1 * 256 + x0) * (y1 * 256 + y0)
u.s.w.
Gast #2668487
Lesenswert?

Mr Gast schrieb:
> Ich soll 2 16 Bit Zahlen multiplizieren.

Na dann tu es doch einfach!

ich nehme aber mal an, daß dein Lehrer erwartet, daß du dir Gedanken 
darüber machst, wie man in der digitalen Welt Zahlen multipliziert.

Mein Tip: Es geht ganz genau so wie bei Adam Ries, bloß nicht mit 10 als 
Basis, sondern mit 2 als Basis.

Also Erg := a * b; zerlegt sich zu:

Erg =  aaaaaaa      * b(n)
      + aaaaaaa     * b(n-1)
      +  aaaaaaa    * b(n-2)
  ... usw.


W.S.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren