dno
будет хранить целое число, вы можете вручную преобразовать integer
в char
, добавив в него символ '0'
, '0'
будет взят как целое число, представляющее код символа, наиболее распространенным является 48
это код ASCII , есть другие, например EBCDI C, в этом случае код 240
, поэтому совет всегда использовать буквенный символ вместо цифры c код.
Для ASCII:
0 + 48 or 0 + '0' = 48 //this represents the ASCII code for the character '0'
1 + 48 or 1 + '0' = 49 //this represents the ASCII code for the character '1'
//... and so on...
Для EBCDI C:
0 + 240 or 0 + '0' = 240 //this represents the EBCDIC code for the character '0'
1 + 240 or 1 + '0' = 241 //this represents the EBCDIC code for the character '1'
Итак:
'0' - '0' = 0; //or 48 - 48 = 0 or 240 - 240 = 0
'1' - '0' = 1; //or 49 - 48 = 1 0r 241 - 240 = 1
Эта арифметика c работает, потому что в C разные таблицы символов должны иметь последовательные числовые символы.