rzutowanie z int na char

0

Jak zrzutować int na char? Robię to tak:

char rpts = (char)lstack; // lstack typu int

i wychodzą jakieś dziwne znaczki.

0

Bo od inta musisz odjąć 48

0

Nic dziwnego, ze wychodza dziwne znaczki. W zmiennej typu char mozesz trzymac liczby od -128 do 127, a w zmiennej typu int masz mozliwosc przechowywania od liczb w przedziale od -2147483648 do 2147483647. Wniosek z tego taki, ze po rzutowaniu wartosc przechowywana w zmiennej int zostaje zeskalowana do rozmiaru zmiennej char :)

edit: wartosci od 0 do 127 sa kodami ASCII, wiec zwykle wyswietlanie zmiennej char wyswietli Ci kod ASCII

1 użytkowników online, w tym zalogowanych: 0, gości: 1