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 André H. - 3.03.2007 16:07)
Als Antwort auf Byte aus Bits zusammensetzen von Roberto - 1.03.2007 16:27
Ich nutze:
C-Control II Unit, C164CI-ControllerBoard, CC2-Application-Board, CC2-StarterBoard, CC2-ReglerBoard, OSOPT V3.0, OSOPT V3.1
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.



Antworten bitte nur ins Forum!
Fragen per EMail auf Forum-Postings werden nicht beantwortet!

Das macht meine Heizung gerade


    Antwort schreiben


Antworten:

Re: Byte aus Bits zusammensetzen (von Roberto - 7.03.2007 13:08)