Forum: PC-Programmierung Zwei 8-Bit Variablen zusammensetzen


von Da Mo (Gast)


Lesenswert?

Kann mir bitte jemand von euch sagen, was bei folgender Aufgabenstellung 
gemeint ist?

***
Gesucht ist eine Funktion, die den Inhalt zweier 8-Bit Variablen zu 
einem Wert zusammensetzt und diesen als Funktionswert zurück liefert.
***

Was ist mit "zusammensetzt" gemeint?

Eine Oder-Verknüpfung der beiden 8-Bit Variablen?

von Magnus M. (magnetus) Benutzerseite


Lesenswert?

Vermutlich eher:

  8 Bit    8 Bit
xxxxxxxx  yyyyyyyy
 \\\\\\\\////////
 xxxxxxxxyyyyyyyy
      16 Bit

von Da Mo (Gast)


Lesenswert?

Magnus Müller schrieb:
> Vermutlich eher:
>
>   8 Bit    8 Bit
> xxxxxxxx  yyyyyyyy
>  \\\\\\\\////////
>  xxxxxxxxyyyyyyyy
>       16 Bit

Hier die Umsetzung:

unsigned short add(unsigned char data1, unsigned char data2)
{
 unsigned short fw;

 fw= data1<<8;
 fw= fw|data2;

 return fw;
}

von Klaus W. (mfgkw)


Lesenswert?

ja, so etwa wird es wohl aussehen sollen.

Ergänzung:
1. man kann es natürlich auch kürzer machen (nicht zwangsläufig besser, 
aber jedenfalls möglich):
1
unsigned short add(unsigned char data1, unsigned char data2)
2
{
3
 return ( data1<<8 ) | data2 ;
4
}

2. es kann auch anders herum gemeint sein, das geht aber aus der obigen 
Aufgabe nicht hervor:
1
unsigned short add(unsigned char data1, unsigned char data2)
2
{
3
 return data 1 | ( data2<<8 );
4
}

von Sebastian Hepp (Gast)


Lesenswert?

Ich würde als Parameter msb und lsb benutzen. Dann ist klar, welche 
Daten in den oberen 8 Bit und welche in den Unteren sein sollen. ;)

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
Noch kein Account? Hier anmelden.