int to char
-
Hi,
wie geht das OHNE irgendwelche funktionen (like itoa, sprintf und co.) zu benutzen? sondern so richtig hardcore massig.
wäre hilfreich mal zu wissen, wie sowas geht.
beispiel:
// aus char Zeichen = "5"; // soll int Zahl = 5; // werden.
weis irgendeiner wie das geht? Irgendwie muss es ja gehen.
[ Dieser Beitrag wurde am 30.05.2003 um 21:01 Uhr von Ikari editiert. ]
-
Ja, über den ASCII-Code kannst Du das berechnen....
Zahl "1" = ASCII 49
Zahl "2" = ASCII 50Also:
char Zeichen = '5'; int Zahl = Zeichen - 48; // ergibt ASCII 53 - 48 = 5
-
**```cpp
char Zeichen = "5";Meinst du nicht, dass da etwas falsch ist?!
int Zahl = Zeichen - 48;
Erklärung: Zeichen hat den ASCII-Code 48 + dem Wert des Zeichens, also:
48 0 49 1 50 2 51 3 ... 57 9
Das Zeichen wird ja nicht mit '5' oder so, sondern mit seinem Ganzzahl-ASCII-Code gespeichert. Anhand dieser Tabelle kannst du durch einfache Subtraktion nun die Ziffer ermitteln, die in dem char gespeichert ist.
[ Dieser Beitrag wurde am 30.05.2003 um 21:19 Uhr von RTC editiert. ]
-
Mist, zu spät
-
Hallo ...
ich würde das so machen:
char zeichen = '5'; int zahl = zeichen - '0';
Es ist besser verständlich was hier passiert und ASCII sollte nicht für jedes System vorausgesetzt werden.
[ Dieser Beitrag wurde am 30.05.2003 um 22:23 Uhr von mady editiert. ]
-
Original erstellt von mady:
... ASCII sollte nicht für jedes System vorausgesetzt werden.Wieso nicht? Es wird zwar nicht vorausgesetzt, aber mal ganz ehrlich: welcher heutige Computer unterstützt schon nicht den ASCII-Standard?
-
Original erstellt von RTC:
... Es wird zwar nicht vorausgesetzt, aber mal ganz ehrlich: welcher heutige Computer unterstützt schon nicht den ASCII-Standard?z.B. musste ich mal eine ganze Zeit lang mit einer IBM AS/400 arbeiten; Dort wird zwar hauptsächlich Cobol und RPG programmiert aber es gibt auch C und C++ Compiler für das System.
-
Ich würde es auch mit '0' statt 48 machen. Und das aus nem ganz simplen Grund: '0' weiss ich sofort, aber den ASCII-WErt von '0' müsste ich nachschlagen Und derjenige, der den Quellcode liest verstehts auch schneller.