Sabine F. schrieb:
> Mike Mike schrieb:
>> 65 / 16 = 4 Rest 1
>> 4 / 16 = 0 Rest 4
>>
>>
>> Rückwärts lesen: 41 (0x41)
>
> Wie kann ich diese Berechnung in Code umsetzen?
>
> if(x%16 == 0) {
> x = x/16;
> }
> else {
> x = x/16 ? ... wie mach ich das mit dem Rest
Lustig. Du fragst hier ...
x%16 == 0
den Rest der Division ab, ob er 0 ist und 2 Zeilen weiter weißt du nicht
wie man den Rest berechnet. -> du brauchst ein C-Buch und musst es auch
durcharbeiten.
uint8_t digit1 = x / 16;
uint8_t digit2 = x % 16;
if( digit1 > 9 )
digit1 += 'A' - 10;
else
digit1 += '0';
if( digit2 > 9 )
digit2 += 'A' - 10;
else
digit2 += '0';
Aber ich denke, wie die anderen, du bellst den falschen Baum an.
Bei einer binären Übertragung interessiert es nicht, dass ein Byte mit
dem Wert 0x41 von einem Gerät welches ASCII Zeichen anzeigt als 'A'
dargestellt wird. 'A' ist dasselbe wie 0x41, lediglich das Gerät welches
dann ein Byte mit dem Wert 0x41 anzeigen soll, malt diejenigen Pixel
schwarz an, so dass am Gerät die Ausgabe 'A' erscheint.
Und bei einer textuellen Ausgabe ist es eine reine Frage, welche
Ausgabefunktion man zum Wandeln von Zahlen in textuelle Darstellung
benutzt. Der schickst du das Byte 0x41 rein, und die Funktion schickt
die beiden Zeichen '4' und '1' auf den Weg.