лекция "Форматы представления чисел"
Для хранения чисел в памяти компьютера используется два формата: целочисленный и с плавающей точкой (точка — разделительный знак для целой и дробной части числа).
Рис. 1. Форматы представления чисел в компьютере
Целочисленный формат (формат с фиксированной точкой) используется для представления в компьютере целых (англ. integer) положительных и отрицательных чисел. Для этого, как правило, используются форматы, кратные байту: 1, 2, 4 байта.
Однобайтовое представление применяется только для положительных целых чисел. В этом формате отсутствует знаковый разряд. Наибольшее двоичное число, которое может быть записано при помощи 1 байта, равно 11111111, что в десятичной системе счисления соответствует числу 25510. Поэтому, выбирая, например, для счетчика однобайтный формат, следует помнить, что такой счетчик не может принимать значения большие, чем 25510
Для положительных и отрицательных целых чисел обычно используется 2 и 4 байта, при этом старший бит выделяется под знак числа: 0 — плюс, 1 — минус.
Самое большое (по модулю) целое число со знаком, которое может поместиться в 2-байтовом формате, это число
О 1111111 11111111,
то есть при помощи подобного кодирования можно представить числа от -32 76810 до 32 76710.
Обратите внимание!
Если число вышло за указанные границы, произойдет переполнение! Поэтому при работе с большими целыми числами под них выделяется больше места, например 4 байта.
Формат с плавающей точкой используется для представления в компьютере действительных чисел (англ. real). Числа с плавающей точкой размещаются, как правило, в 4 или 8 байтах.
Представление целого положительного числа в компьютере
Для представления целого положительного числа в компьютере используется следующее правило:
♦ число переводится в двоичную систему;
♦ результат дополняется нулями слева в пределах выбранного формата;
♦ последний разряд слева является знаковым, в положительном числе он равен 0.
Например, положительное число +13510 в зависимости от формата представления в компьютере будет иметь следующий вид:
♦ для формата в виде 1 байта — 10000111 (отсутствует знаковый разряд);
♦ для формата в виде 2 байтов — 0 0000000 10000111;
♦ для формата в виде 4 байтов — 0 0000000 00000000 00000000 10000111.
Представление целого отрицательного числа в компьютере
Для представления целого отрицательного числа в компьютере используется дополнительный код. Такое представление позволяет заменить операцию вычитания числа операцией сложения с дополнительным кодом этого числа. Знаковый разряд целых отрицательных чисел всегда равен 1.
Для представления целого отрицательного числа в компьютере используется следующее правило:
♦ число без знака переводится в двоичную систему;
♦ результат дополняется нулями слева в пределах выбранного формата;
♦ полученное число переводится в обратный код (нули заменяются единицами, а единицы — нулями);
♦ к полученному коду прибавляется 1.
Отрицательное число может быть представлено в виде 2 или 4 байт. Например, представим число -13510 в 2-байтовом формате:
♦ 13510 —> 10000111 (перевод десятичного числа без знака в двоичный код);
♦ 0 0000000 10000111 (дополнение двоичного числа нулями слева в пределах формата);
♦ 0 0000000 10000111 —> 1 1111111 01111000 (перевод в обратный код);
♦ 1 1111111 01111000 —> 1 1111111 01111001 (перевод в дополнительный код).
Представление вещественного (действительного) числа в компьютере
Вещественное число может быть представлено в экспоненциальном виде, например:
1600000010 = 0,16*108
-0,000015610 = -0,156*10-4
В этом формате вещественное число представляется в виде произведения мантиссы {m) и основания системы счисления в целой степени , называемой порядком. Представим это в общем виде, как:
R = m*Рn.
Порядок п указывает, на какое количество позиций и в каком направлении должна сместиться в мантиссе точка (запятая), отделяющая дробную часть от целой. Мантисса, как правило, нормализуется, то есть представляется в виде правильной дроби 0 < m < 1.
При представлении в компьютере действительного числа с плавающей точкой тоже используется нормализованная мантисса и целый порядок. И мантисса и порядок представляются в двоичном виде, как это было описано выше.
Для размещения вещественного числа обычно используется 2 или 4 байта.
В 2-байтовом формате представления вещественного числа первый байт и три разряда второго байта выделяются для размещения мантиссы, в остальных разрядах второго байта размещаются порядок числа, знаки числа и порядка.
В 4-байтовом формате представления вещественного числа первые три байта выделяются для размещения мантиссы, в четвертом байте размещаются порядок числа, знаки числа и порядка.