Zur Übersicht - INFO - Neueste 50 Beiträge - Neuer Beitrag - Suchen - FAQ - Zum CC1-Forum - Zum CC-Pro-Forum

Re: Byte aus Bits zusammensetzen Kategorie: Programmierung (von Roberto - 7.03.2007 13:08)
Als Antwort auf Re: Byte aus Bits zusammensetzen von André H. - 3.03.2007 16:07
Ich nutze:
C-Control II Unit, CC2-Application-Board, OSOPT V3.0
Hallo Andre,

supi, vielen Dank. Hab's gleich so eingebaut und ne Menge Variablen gespart....

GruÃ?
rob.


> Hallo Roberto,
>
> Matthias hat Dir zwar bereits die Lösung genannt, aber noch eine weitere
> Vereinfachung von mir:
> function nib2byte(byte high, byte low) returns byte
> {
>  return (high shl 4) or low;
> }

> So kommt man ohne weitere Variablen aus, und die Ausführung ist schneller.
>
> > Dazu habe ich folgende vorgaben:
> >  
> > A  = 0110
> > B  = 1110
> > C  = 0010
> > D  = 1010
> > E  = 0001
> > F  = 1001
> > G  = 0101
> > H  = 1101
> >
> > 1 = 0110
> > 2 = 1110
> > 3 = 0010
> > 4 = 1010
> > 5 = 0001
> > 6 = 1001
> > 7 = 0101
> > 8 = 1101
> >
> > Ich möchte nun eine Funktion erstellen, die ich mit zwei Parametern aufrufen kann.
> > Bsp. Wenn ich die Funktion mit dem Parameter "A" und "1" aufrufe, mu� gemä� den obenstehenden Tabellen
> > das Byte " 01100110" rauskommen.
>
> Um diese Zahlenmuster nicht direkt eingeben zu müssen, kannst Du Konstantenarrays anlegen:
>
> const nibbles[]=0, 0110, 1110, 0010, 1010, 0001, 1001, 0101, 1101;
>

> Dies kannst Du nun in die Funktion nib2byte() einbauen:
> function nib2byte(byte high, byte low) returns byte
> {
>  if high>64 high=high-64;// ASCII A=65 => 1
>  return (nibbles[high] shl 4) or nibbles[low];
> }

>
> So kannst Du die Funktion dann noch einfacher nutzen:
>
> wert=nib2byte('A', 1);
>

>
> MfG André H.
>


    Antwort schreiben


Antworten: