Hi leute nach lange suchen bin ich immer noch nicht drauf gekommen wie kann ich mit GCC di Nibbles tauschen also so 00001111 -> 11110000 an sich reicht es mir auch so xxxx1111-> 11110000 gibt es dafür einen routine? danke schon mal
>00001111 -> 11110000
1 | x = (x>>4); |
>00001111 -> 11110000
1 | x = (x<<4); |
Es werden immer Nullen nachgezogen. Willst du wirklich tauschen, dann so.
1 | x = (x<<4) | (x>>4); |
(Der Compiler sollte daraus ein SWAP machen)
Hi super danke =) es funzt jetzt noch mal kurz ne frage am rande ich habe in 2 Arrays werte stehen z.b array(1,3); x array(5,5); = array(7,1,5); mathematische operation wäre 13 x 55 =715 wie gehe ich da am besten vor? array auszählen und dann mit dem 8bit register arbeiten?
ja ich hätte beide arrays ausgezählt damit das in 2 regsiter steht. und dann die beiden register multipliziert und wieder aufgeteilt.
>array(1,3);
x
array(5,5);
=
array(7,1,5);
Hä? Das musst du mal genauer erklären...!
Matthias Lipinsky wrote: >>array(1,3); > x > array(5,5); > = > array(7,1,5); > > Hä? Das musst du mal genauer erklären...! in 'array' steht eine BCD Zahl.
Ulf Cramme wrote: > ja ich hätte beide arrays ausgezählt damit das in 2 regsiter steht. > und dann die beiden register multipliziert und wieder aufgeteilt. Falscher Ansatz. Wie multiplizierst du denn von Hand? Du fängst bei den niederwertigsten Stellen an und multiplizierst jede Stelle mit jeder, wobei du einen Übertrag mitschleifst. Und zum Schluss werden die einzelnen Teilsummen geeignet versetzt (also mit 10 multipliziert) zusammengezählt. Erinnere dich einfach mal daran, wie du das in der Grundschule gelernt hast. Und genau dasselbe ahmst du jetzt mit einem Programm nach. 13 * 57 5 * 3 macht 15, also 5 anschreiben und 1 Übertrag 5 * 1 macht 5 plus die 1 Übertrag mach 6 7 * 3 macht 21, 1 anschreiben, 2 Übertrag 7 * 1 macht 7, plus die 2 Übertrag macht 9 13 * 57 --------- 65 91 650 + 91 macht 741 ----- 741 13 * 57 -> 741
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.