
Двоичное кодирование чисел
Представление числовой информации в ПК
Естественная форма представления чисел используется для хранения в памяти и обработки процессором целых чисел с фиксированной запятой. Каждому разряду ячейки памяти соответствует всегда один и тот же разряд числа. Запятая находится справа от меньшего разряда (вне разрядной сетке).
Для хранения и представления
целых неотрицательных чисел используется 1 ячейка памяти = 8 бит (1байт)
целых чисел со знаком используется 2 ячейки = 16 бит:
старший левый разряд - знак числа (0- положительное, 1–отрицательное)
Max значение целого положит. числа A=2n-1 – 1 (n-число разрядов) = 3276710
больших целых чисел используется 4ячейки = 32 бит
отрицательных чисел используется дополнительный код, Дополнительный код отрицательного числа A, хранящегося в n-ячейках 2n - |A|
Экспоненциальная форма представления чисел обычно используется для записи очень больших или очень малых чисел, кот в естественной форме содержат большое количество незначащих нулей (1 000 000 = 1·106). Вещественные числа (конечные и бесконечные десятич. дроби) записываются в формате с плавающей запятой, т.е. положение запятой в числе может меняться.
Формат чисел с плавающей запятой: A = m · q n
m – мантисса числа q – основание системы счисления n – порядок числа
например:
Естественная форма |
Экспоненциальная форма |
десятичная система счисления 16000000000000000 = 1,6 ·10 16 |
0,00000000000000016 = 1,6 ·10 -16 |
двоичная система счисления 11000000000000000 = 1,1 ·2 16 |
0,00000000000000011 = 1,1 ·2 -16 |
Диапазон изменения чисел определяется количеством разрядов, отведенный для хранения порядка числа, точность определяется количеством разрядов, отведенных для хранения мантиссы.
Арифметические операции чисел в формате с плавающей запятой:
При сложении и вычитании сначала производится выравнивание порядков (до большего), а затем производится операция сложения или вычитания мантисс.
При умножении порядки складываются, а мантиссы перемножаются.
При делении – их порядка делимого вычитается порядок делителя, мантисса делимого делится на мантиссу делителя.
Например:
0,1·23 + 0,1·25 = 0,001·25 + 0,100·25 = 0,101·25
0,1·23 * 0,1·25 = 0,01·28 = 0,1·27
Арифметические операции в двоичной системе счисления
Сложение двоичных чисел производится в соответствии со следующими правилами:
0 + 0 = 0
+ 1 = 1
+ 0 = 1
1 + 1 = 10 (0 и единица переноса в следующий, старший разряд).
Сложим самые простые числа 12 и 12.
+0001
0001
0010
Теперь сложим 72+42
+111
100
1011
Вычитание выполняется по следующим правилам:
0-0= 0
10 - 1 = 1
1-0= 1
1-1= 0
Выполняя вычитание из ноля единицы, следует занять единицу из старшего значащего разряда.
100
-001
011
Двоичное кодирование текста
Кодирование – присвоение каждому символу десятичного кода от 0 до 255 или соответствующего ему двоичного кода от 00000000 до 11111111
Присвоение символу определенного кода – это вопрос соглашения, которое фиксируется в кодовой таблице.
В качестве международного стандарта была принята кодовая таблица ASCII (American Standard Code for Information Interchange) :
Коды с 0 по 32 (первые 33 кода) - коды операций (перевод строки, ввод пробела, т.е. соответствуют функциональным клавишам);
Коды с 33 по 127 – интернациональные, соответствуют символам латинского алфавита, цифрам, знакам арифметических операций, знакам препинания;
Коды с 128 по 255 – национальные, т.е. кодировка национального алфавита.
на 1 символ отводится 1 байт (8 бит), всего можно закодировать 28 = 256 символов
С 1997 года появился новый международный стандарт Unicode, который отводит для кодировки одного символа 2 байта (16 бит), и можно закодировать 65536 различных символов (Unicode включает в себя все существующие, вымершие и искусственно созданные алфавиты мира, множество математических, музыкальных, химических и прочих символов)
В настоящий момент существует пять кодировок кириллицы: КОИ-8, CP1251, CP866, ISO, Mac. Для преобразования текстовых документов из одной кодировки в другую существуют программы которые называются Конверторы