[C++]char na int - Nie rozumiem
Ostatnio zmodyfikowano 2013-11-26 15:44
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. :) |
|
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 |
|
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ą |
|
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 |
|
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. :) |
|
« 1 » |