Вот такая задача есть, которую я все такие решил, но лишь методом тыка и совсем не понял что это за магия такая и по какому принципу это работает: "Добавить одну операцию по преобразованию типа, чтобы получался ответ: nine=9
short number = 9;

char zero = '0';

int nine = (zero + number);
" Почему nine в этой задаче равно 57? Понимаю что это происходит из за '0', но по какому принципу это работает, что это вообще такое?