Сравнение символов по их кодам
💻 Информатика · 8 класс
Как сравниваются символы
В компьютере каждый символ хранится как число — его код в кодовой таблице. Когда программа сравнивает два символа, она на самом деле сравнивает их коды. Поэтому понятия «больше» и «меньше» применимы не только к числам, но и к буквам, цифрам и знакам препинания.
Например, в таблице ASCII заглавные латинские буквы идут подряд по возрастанию кодов, и буква A «меньше» буквы B, потому что её код меньше. Такой порядок называют лексикографическим, он лежит в основе сортировки слов и составления словарей.
Порядок следования символов
В кодовой таблице символы расположены группами. Сначала идут управляющие символы и пробел, затем знаки препинания, потом цифры, далее заглавные буквы и, наконец, строчные. Поэтому код цифры меньше кода любой буквы, а код заглавной буквы меньше кода соответствующей строчной.
Коды некоторых символов ASCII
| Символ | Код (десятичный) |
|---|---|
| пробел | 32 |
| цифра «0» | 48 |
| цифра «9» | 57 |
| буква «A» | 65 |
| буква «B» | 66 |
| буква «a» | 97 |
Разбор примера
Сравним символы 'A' и 'a'. Их коды — 65 и 97. Значит:
'A' < 'a', потому что 65 < 97
Сравнение слов идёт посимвольно слева направо: сравнивают первые символы, при равенстве — вторые и так далее. Поэтому слово «дом» меньше слова «дым»: первые буквы одинаковы, а у второй буквы «о» код меньше, чем у «ы».
Если одно слово является началом другого, более короткое считается меньшим. Так «кот» меньше «котёнок», потому что у первого слова закончились буквы раньше.
Где это применяется
Сравнение по кодам используют при сортировке списков по алфавиту, при поиске слова в словаре, при проверке пароля. Программа быстро упорядочивает любые строки, опираясь только на числовые коды символов.
Действия над кодами
Поскольку символ хранится как число, над кодами можно выполнять арифметические действия. Это позволяет переходить от одной буквы к соседней. Например, чтобы получить следующую букву латинского алфавита, к коду текущей буквы прибавляют единицу: код буквы A равен 65, прибавив 1, получаем 66 — код буквы B. Так же находят расстояние между буквами: вычитая код одной буквы из кода другой, узнают, сколько символов их разделяет. На этом приёме основаны простые шифры, сдвигающие каждую букву на несколько позиций.
Частая ошибка. Строчные и заглавные буквы имеют разные коды, поэтому'A'и'a'для компьютера не равны. При сравнении слов без учёта регистра символы предварительно приводят к одному регистру.
Кратко о главном
- Символы сравниваются по их кодам в кодовой таблице.
- Цифры имеют меньшие коды, чем буквы; заглавные — меньшие, чем строчные.
- Слова сравниваются посимвольно слева направо.
- Более короткое слово, совпадающее с началом другого, считается меньшим.
- Заглавные и строчные буквы не равны — у них разные коды.