Декодирование символьных значений: почему вычитание «0» раскрывает числовое представление
Возникает загадочный вопрос: почему вычитание «0» из символ в C раскрывает числовое значение, которое он представляет?
Чтобы разгадать эту загадку, давайте углубимся в область ASCII (Американский стандартный код обмена информацией), который присваивает числовые коды каждому символу. «0» занимает первую позицию в этой числовой последовательности, а последующим символам постепенно присваиваются более высокие значения.
Например, «9» представляет числовое значение 57, а «0» соответствует 48. Путем вычитания «0» ' из символа мы по сути вычисляем разницу между его ASCII-кодом и ASCII-кодом '0'.
Рассмотрим пример: char c = '9'; int x = (int)(c - '0');
Здесь '9' имеет код ASCII, равный 57. Вычитание '0' (который имеет код ASCII, равный 48) дает 57 - 48 = 9, что — это именно числовое значение, представленное цифрой «9».
Следующая таблица ASCII дополнительно иллюстрирует это. концепция:
Символ | ASCII Код |
---|---|
'0' | 48 |
'1' | 49 |
'9' | 57 |
Автор вычитая «0» из любого символа, мы можем эффективно декодировать числовое значение, которое он представляет, — метод, обычно используемый в различных приложениях программирования.
Отказ от ответственности: Все предоставленные ресурсы частично взяты из Интернета. В случае нарушения ваших авторских прав или других прав и интересов, пожалуйста, объясните подробные причины и предоставьте доказательства авторских прав или прав и интересов, а затем отправьте их по электронной почте: [email protected]. Мы сделаем это за вас как можно скорее.
Copyright© 2022 湘ICP备2022001581号-3