Wpis z mikrobloga

@matth95: domagasz sie inta to co sie dziwisz. char - char daje char, ale ze zapisujesz do inta to dostajesz inta. Char to tak naprawde zwykla liczba.
  • Odpowiedz
@matth95: char to typ liczbowy, ale używany też do reprezentacji znaków. Znak '0' ma wartość 48. Znak '1' ma wartość 49, czyli liczba[0]-'0' == '1' - '0' == 49 - 48 == 1
  • Odpowiedz
chodzi o rzutowanie. tak jak wspomniał mirek wyżej char to liczba 0-255 której jest przypisywany znak z tablicy ASCII. '1' ma wartość 49, '0' ma 48. 49-48=1. Równie obrze mógłbyś napisać var=liczba[0]-48;
  • Odpowiedz
@Zimnx: a gówno, char-char zwraca int (to się nazywa integral promotion w standardzie).

@GwnBrz: trzeba dodać, ƶe ASCII ani nic zgodnego nie jest gwarantowane przez standard C++, więc magiczne liczby 48-57 nie powinny być uƶywane.
  • Odpowiedz