Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Представление данных в компьютере.docx
Скачиваний:
21
Добавлен:
26.09.2019
Размер:
79.75 Кб
Скачать

Кодирование целых чисел

Любое целое число можно представить в виде разложения в полином с основанием два. Коэффициентами полинома являются числа 0 и 1. Например, число 11 может быть представлено в такой форме:

1 x 23 + 0 x 22 + 1 x 21 + 1 x 20 = 11

Коэффициенты этого полинома образуют двоичную запись числа 11: 1011.

Для преобразования целого числа в двоичный код надо делить его пополам до тех пор, пока в остатке не образуется ноль или единица. Совокупность остатков от каждого деления, записанных справа налево, образует двоичный код десятичного числа.

Д ля представления целых чисел используется байт, имеющий восемь двоичных разрядов .

Первый разряд используется для хранения знака числа. Обычно «+» кодируется нулём, а «–» – единицей. Диапазон представления целых чисел зависит от числа двоичных разрядов. С помощью одного байта могут быть представлены числа в диапазоне от –128 до +127. При использовании двух байтов могут быть представлены числа от –32 768 до +32 767.

Кодирование вещественных чисел

С уществуют два способа представления вещественных чисел в памяти компьютера: с фиксированной точкой и с плавающей точкой.

П ри представлении вещественных чисел в форме с фиксированной точкой положение десятичной точки машинном слове фиксировано. Чаще всего точка фиксируется перед первым разрядом числа.

Целое число является частным случаем числа с фиксированной точкой, когда точка фиксирована после последнего разряда.

В форме с плавающей точкой вещественное число х представляется в виде

x = M x 2p

где |M|<1 и называется мантиссой, p – целое число, называемое порядком.

Количество позиций, отводимых для мантиссы, определяет точность представления чисел, а количество позиций, отводимых для порядка – диапазон представления чисел.

При сложении чисел в форме с плавающей точкой в общем случае нельзя складывать их мантиссы. Если слагаемые имеют разные порядки, то одинаковые разряды мантиссы будут на самом деле изображать разные разряды числа. Поэтому при сложении чисел необходимо предварительно выровнять их порядки, то есть числу с меньшим порядком приписать порядок второго числа и соответствующим образом изменить мантиссу.

Кодирование текстовых данных

Если каждому символу алфавита сопоставить целое число, то можно с помощью двоичного кода кодировать текстовые данные. Восьми двоичных разрядов достаточно для кодирования 256 различных символов. Этого хватает, чтобы закодировать все строчные и прописные буквы английского или русского алфавита, а также знаки препинания, цифры, символы основных арифметических операций и некоторые специальные символы, например «%».

Технически это просто, но существуют организационные сложности. Для того чтобы весь мир одинаково кодировал текстовые данные, нужны единые таблицы кодирования, а это трудно осуществить из-за использования различных символов в национальных алфавитах. Сейчас по ряду причин наибольшее распространение получил стандарт США ANСII (American National Code for Information Interchange) – Американский национальный код для обмена информацией. В системе кодирования ANСII закреплены две таблицы кодирования: базовая со значениями кодов от 0 до 127 и расширенная с кодами от 128 до 255.

Коды от 0 до 31 базовой таблицы содержат так называемые управляющие коды, которым не соответствуют символы языка. Они служат для управления устройствами ввода-вывода. Коды с 32 по 127 служат для кодирования символов английского алфавита, знаков препинания, цифр и некоторых других символов. Расширенная таблица с кодами от 128 до 255 содержит набор специальных символов.