Panel użytkownika
Nazwa użytkownika:
Hasło:
Nie masz jeszcze konta?

[C++]char na int - Nie rozumiem

Ostatnio zmodyfikowano 2013-11-26 15:44
Autor Wiadomość
kaof
Temat założony przez niniejszego użytkownika
[C++]char na int - Nie rozumiem
» 2013-11-26 15:30:21
Chciałem ostatnio zrobić rzutowanie jednego elementu łańcucha znaków , który jest cyfrą ,na typ całkowity (int).Szukałem informacji i natknąłem się na takie coś:

string a = "4234423";
int b = a.at(0) - '0';

Czemu odjęcie '0' powoduje , że program nie zapisuje w postaci nr. ASCII.
Nie rozumiem , proszę o wyjaśnienie. :)
P-97571
kubawal
» 2013-11-26 15:33:19
rzutowanie jednego elementu łańcucha znaków
 - tzn. chcesz uzyskać kod ASCII znaku, czy wartość numeryczną tej cyfry
P-97572
kaof
Temat założony przez niniejszego użytkownika
» 2013-11-26 15:35:58
Wartość numeryczną ( powyższe działa , tylko nie wiem czemu ).

b = a.at(0) // zwraca kod znaku ASCII
b = a.at(0)-'0' // zwraca wartość numeryczną
P-97573
kubawal
» 2013-11-26 15:39:51
Ponieważ jeśli kod ASCII cyfry '0' to np. 75, to każda następna będzie o jeden większa, tzn. '1' to będzie 76, '2' to będzie 77 itd.
Stąd wynika, że, np. cyfra '3' to
kod cyfry '0' - kod cyfry '3' = 78 - 75 = 3
P-97576
kaof
Temat założony przez niniejszego użytkownika
» 2013-11-26 15:44:13
no tak,mogłem się domyśle.
Teraz rozumiem , dzięki. :)
P-97578
« 1 »
  Strona 1 z 1