Wie von Int in Char konvertieren . Eine weit verbreitete Art von Daten zum Speichern von Zahlen ist der INT, die typischerweise verwendet entweder eine 4-Byte oder 8-Byte- Speicher -Segment. Ein char ist ein weiteres weit verbreitetes Datentyp, der Werte speichert in einem 1 -Byte- Speicher -Segment. Konvertieren eines int in einen char kann ein Problem sein , weil es nicht genug Platz, um alle Bytes aus einem int in einen char speichern. Allerdings können Sie mehrere Zeichen zu einem einzigen int speichern. Things You
C Compiler wie GCC
C Integrated Development Environment (IDE ) wie Eclipse CDT
brauchen anzeigen Weitere Anweisungen
1
Start up Ihre IDE und erstellen Sie ein neues Projekt. Eine leere Quellcode -Datei wird in der Haupt- Arbeitsbereich zu öffnen .
2
Definieren Sie eine int-Typ , die Sie konvertieren über ein char, und weisen Sie ihm einen Wert ein. Schreiben Sie zum Beispiel so etwas wie dieses :
unsigned int numberToConvert = 456734645 ;
3
Ausdrucken der Wert dieser Zahl in hexadezimal. Sie werden dies nutzen, um Ihre Conversion später überprüfen. Sie können diese durch das Schreiben dieser Zeile direkt unter der vorherigen Zeile zu drucken:
printf ("% x \\ n", numberToConvert );
4
Finden Sie heraus, wie viele Zeichen passen innerhalb eines int-Typ auf Ihrem Computer. Tun Sie dies , indem Sie die folgenden Schritte aus:
unsigned int numberOfChars = sizeof ( int) /sizeof (char );
5
Definieren Sie die Zeichen , die Ihre int halten wird . Da ein int ist so viel größer als ein char, müssen Sie einen char-Array wie folgt definieren :
unsigned char Ziel [ numberOfChars ] ;
6
erstellen für Loop-Struktur das in einer Schleife durch die int und fügen Sie Werte in die char mit jedem Durchgang . Das Skelett der for-Schleife sollte wie folgt aussehen :
for (int i = 0; i < numberOfChars ; i + +) {
}
< br > 7
Ordnen Sie die ersten acht Bits der Integer zur ersten char im Array. Dies wird nur funktionieren, wenn 8- Bit Bytes auf Ihrem System , die sie in der Regel sind. ;
8
ausdrucken
Ziel [ i] = numberToConvert >> ( 8 * i) : Diese Zuordnung kann innerhalb der geschweiften Klammern der for-Schleife wie folgt geschrieben werden die Werte der einzelnen char in hexadezimal und sicherzustellen, dass es den Wert Ihres integer entspricht. Schreiben Sie den folgenden unter dem bisherigen Code-Zeile :
printf ("% x \\ n", Ziel [ i]) ;
9
übersetzen und starten Sie das Programm ( einige IDEs tun dies, wenn Sie drücken Sie die Taste "F5" ) . Sie werden sehen , dass Sie erfolgreich die int in Zeichen umgewandelt.