char als Zahl anzeigen
-
Hi,
Wie kann ich mit "cout" Variablen vom Typ "char" als Zahl (8 Bit Integer) anzeigen lassen?
mach ich einfach nur:
cout<<c;
dann spuckt er mir erwartungsgemäß das zugehörige Ascii-Zeichen aus.
Ich würde aber gern wissen, welcher Zahlenwert denn dahinter steckt.
Oder geht des dann nur über printf("%d",c) ?mfg und danke
martin
-
das Zauber Wort heisst casten!
std::cout << static_cast<int>(char_variable);
-
Schonmal probiert, c in einen int zu casten?
Edit: Zu spät
-
des ging ja schnell
danke *freu*hm...
casten, *stümmt*aber: der spuckt mir jetzt leider signed-Werte aus.
also was macht der kluge Hausvater: er castet in "unsigned int".
ABER: wieso krieg ich dann eine 32 Bit Zahl raus#include <iostream> using namespace std; int main() { char bitMask = 0x80; cout<<static_cast<int>(bitMask)<<endl; cout<<static_cast<unsigned int>(bitMask)<<endl; return 0; }
Ausgabe:
-128
4294967168thx
Martin
-
Kommando zurück,
ich bin DUMMMMM.muss natürlich
"unsigned char"
heissen.
Etz gehts...Martin
-
int i; char c; cin >> c; i = char(c); cout << i << endL;
mfg
-
wieso nicht
i =(char) char(reinterpret_cast<char>(static_cast<char>(c)));
?
Wenn schon sinnlos casten, dann aber richtig.