Konvertierung von C - unsigned int in unsigned char array

Ich habe eine vorzeichenlose Ganzzahl (2 Byte) und möchte sie in einen vorzeichenlosen Zeichentyp konvertieren. Bei meiner Suche habe ich festgestellt, dass die meisten Leute Folgendes empfehlen:

<code> unsigned int x;
 ...
 unsigned char ch = (unsigned char)x;
</code>

Ist der richtige Ansatz? Ich frage, weil vorzeichenloses Zeichen 1 Byte ist und wir von 2-Byte-Daten auf 1 Byte gewechselt haben.

Um Datenverluste zu vermeiden, möchte ich ein Array mit vorzeichenlosen Zeichen [] erstellen und die einzelnen Bytes im Array speichern. Ich stecke fest bei:

<code> unsigned char ch[2];
 unsigned int num = 272;

 for(i=0; i<2; i++){
      // how should the individual bytes from num be saved in ch[0] and ch[1] ??
 }
</code>

Ebenfalls,Wie würden wir das vorzeichenlose Zeichen [2] zurück in vorzeichenloses int konvertieren?.

Danke vielmals.

Antworten auf die Frage(6)

Ihre Antwort auf die Frage