Сложение и умножение
Восьмиричные числа складываются и умножаются точно так же, как и десятичные. Единственное отличие – в использовании других таблиц сложения и умножения.
Таблица сложения восьмеричных чисел (аналогичные таблицы можно составить для других систем счисления):
+ |
0 |
1 |
2 |
3 |
4 |
5 |
6 |
7 |
0 |
0 |
1 |
2 |
3 |
4 |
5 |
6 |
7 |
1 |
1 |
2 |
3 |
4 |
5 |
6 |
7 |
10 |
2 |
2 |
3 |
4 |
5 |
6 |
7 |
10 |
11 |
3 |
3 |
4 |
5 |
6 |
7 |
10 |
11 |
12 |
4 |
4 |
5 |
6 |
7 |
10 |
11 |
12 |
13 |
5 |
5 |
6 |
7 |
10 |
11 |
12 |
13 |
14 |
6 |
6 |
7 |
10 |
11 |
12 |
13 |
14 |
15 |
7 |
7 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
Таблица умножения восьмеричных чисел:
* |
0 |
1 |
2 |
3 |
4 |
5 |
6 |
7 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
1 |
0 |
1 |
2 |
3 |
4 |
5 |
6 |
7 |
2 |
0 |
2 |
4 |
6 |
10 |
12 |
14 |
16 |
3 |
0 |
3 |
6 |
11 |
14 |
17 |
22 |
25 |
4 |
0 |
4 |
10 |
14 |
20 |
24 |
30 |
34 |
5 |
0 |
5 |
12 |
17 |
24 |
31 |
36 |
43 |
6 |
0 |
6 |
14 |
22 |
30 |
36 |
44 |
52 |
7 |
0 |
7 |
16 |
25 |
34 |
43 |
52 |
61 |
Пример сложения восьмеричных чисел столбиком:
|
1 |
3 |
5 |
+ |
6 |
4 |
3 |
1 |
0 |
0 |
0 |
Кодирование символов
В памяти компьютера могут содержаться только биты, поэтому любую информацию, которую мы рассчитываем сохранить, сначала нужно преобразовать в цифровую форму. Для представления текста в цифровом формате должна существовать система кодирования, в которой каждой букве соответствовал бы уникальный код. Свои коды понадобятся и для цифр, и для знаков препинания, поскольку без них в тексте не обойтись. Таким образом, нужно назначить коды для всех буквенно-цифровых символов. Такие системы иногда называют наборами кодированных символов, а отдельно взятый код – кодом символа.
Кодовая страница (англ. code page) — таблица, сопоставляющая каждому значению байта некоторый символ (или его отсутствие). Обычно код символа имеет размер 8 бит, так что кодовая страница может содержать максимум 256 символов, из чего вытекает резкая недостаточность всякой 8-битной кодовой страницы для представления многоязычных текстов. К тому же часть символов используется как управляющие, из-за чего число печатных символов редко превышает 223.
Исторически термин code page был введён корпорацией IBM; сменные кодовые страницы использовались для поддержки различных языков (имеющих алфавитные системы письма).
В настоящее время в основном используются кодировки, совместимые с ASCII. В ASCII-совместимых кодировках фиксированы коды 95 печатных и 33 управляющих символов, а остальные 128 кодовых позиций используются для различных символов, не входящих в ASCII.
Для кодирования текстов на русском языке (т.е. букв кириллицы) наиболее широко применяются следующие кодовые страницы:
Windows-1251, она же Microsoft code page 1251 (CP1251), она же ANSI Cyrillic — в системах Windows;
Семейство кодовых страниц KOI8;
Альтернативная кодировка, она же IBM code page 866 — в системах DOS;
MacCyrillic — на компьютерах Macintosh.
Использование различных кодовых страниц создаёт много неудобств как для пользователей, так и для программистов. При попытке прочесть текстовый файл при помощи кодовой страницы, несовместимой с той в которой он был создан, возникают крокозябры. В последние годы получил широкое распространение Unicode как альтернатива традиционным кодовым страницам.
ASCII
ASCII (англ. American Standard Code for Information Interchange — американский стандартный код для обмена информацией; по-американски произносится [э́ски], тогда как в Великобритании чаще произносится [а́ски]; по-русски также произносится [а́ски]).
ASCII представляет собой 7-битную кодировку для представления десятичных цифр, латинского и национального алфавитов, знаков препинания и управляющих символов.
Пример представления предложения в кодировке ASCII:
I am 12 years old. 49 20 61 6D 20 31 32 20 79 65 61 72 73 20 6F 6C 64 2E
Таблица десятичных, шестнадцатеричных и двоичных ASCII – кодов:
КОИ-8
КОИ-8 (код обмена информацией, 8 битов), KOI8 — восьмибитовая ASCII-совместимая кодовая страница, разработанная для кодирования букв кириллических алфавитов.
Разработчики КОИ-8 поместили символы русского алфавита в верхней части кодовой таблицы таким образом, что позиции кириллических символов соответствуют их фонетическим аналогам в английском алфавите в нижней части таблицы. Это означает, что если в тексте, написанном в КОИ-8, убирать восьмой бит каждого символа, то получается «читабельный» текст, хотя он и написан латинскими символами. Например, слова «Русский Текст» превратились бы в «rUSSKIJ tEKST». Как побочное следствие, символы кириллицы оказались расположены не в алфавитном порядке.
Существует несколько вариантов кодировки КОИ-8 для различных кириллических алфавитов, расширяющие определённых кодов (общий диапазон 192-255 с 32 русскими буквами в двух регистрах остаётся неизменным во всех вариантах). Русский алфавит описывается в кодировке KOI8-R, украинский — в KOI8-U.
Windows-1251
Windows-1251 — набор символов и кодировка, являющаяся стандартной 8-битной кодировкой для всех русских версий Microsoft Windows. Пользуется довольно большой популярностью.
Windows-1251 выгодно отличается от других 8‑битных кириллических кодировок (таких как CP866, KOI8-R и ISO 8859-5) наличием практически всех символов, использующихся в русской типографике для обычного текста (отсутствует только значок ударения); она также содержит все символы для близких к русскому языку языков: украинского, белорусского, сербского и болгарского.