Для автоматизации работы с данными, относящимися к различным типам, очень важно унифицировать их форму представления – для этого обычно используется приём кодирования, то есть выражение данных одного типа через данные другого типа.
Набор правил кодирования той или иной разновидности информации называется форматом данных.
Система кодирования существует и в вычислительной технике – она называется двоичным кодированием и основана на представлении данных последовательностью данных всего двух знаков: 0 и 1. Эти знаки называются двоичными цифрами, по-английски – binary digit, или, сокращённо, bit (бит). Одним битом могут быть выражены два понятия: 0 или 1 (да или нет, чёрное или белое, истина или ложь и т. п.). Если количество битов увеличить до двух, то уже можно выразить четыре различных понятия:
Тремя битами можно закодировать восемь различных значений:
Увеличивая на единицу количество разрядов в системе двоичного кодирования, мы увеличили в два раза количество значений, которое может быть выражено в данной системе, то есть общая формула имеет вид:
N=2m, где:
N – количество независимо кодируемых значений;
m – разрядность двоичного кодирования, принятая в данной системе.
Целые числа двоичным кодом закодировать достаточно просто – достаточно перевести число, записанное в десятичной системе счисления, в двоичную.
Для кодирования целых чисел от 0 до 255 достаточно иметь 8 разрядов двоичного кода (8 бит). Шестнадцать бит позволяет закодировать целые числа от 0 до 65536, а 24 бита – уже более 16,5 миллионов разных значений.
Для кодирования действительных чисел используют 80-разрядное кодирование (т.е. используется 80 бит). При этом число предварительно преобразуется в нормальную форму:
3,1415926 = 0,3145926·101
300 000 = 0,3·106
123 456 789 = 0,123456789·1010
Первая часть называется мантиссой, а вторая – характеристикой. Большую часть из 80 бит отводят для характеристики мантиссы (вместе со знаком) и некоторое фиксированное количество разрядов отводят для хранения характеристики (то же со знаком).
Для представления числовых данных в компьютере используется два принципиально разных формата:
- с фиксированной точкой (запятой);
- с плавающей точкой (запятой).
Формат с фиксированной точкой предназначен для абсолютно точного представления целых чисел. С плавающей точкой используют только нецелых чисел.
Представлять числа в компьютере принято виде разрядной сетки.
Так запись числа 18 в восьмиразрядной сетке будет выглядеть следующим образом.
7 р
6 р
5 р
4 р
3 р
2 р
1 р
0 р
Максимальное число, которое можно записать в той или иной разрядной сетке будет определяться соотношением 2N-1, где N – значение старшего разряда, т.е. для восьмиразрядной сетки это будет число 127.
Как известно целые числа могут быть как положительными, так и отрицательными. Тогда для целого числа -18 запись в восьми разрядной сетке будет выглядеть.
7 р
6 р
5 р
4 р
3 р
2 р
1 р
0 р
Старший разряд (7) – знаковый разряд. Если в старшем разряде стоит 1 – отрицательное число, 0 – число положительное.
Запись числа с плавающей точкой в виде 80-ти разрядного кода выглядит так: