Как представляются отрицательные числа в компьютере
Для хранения чисел в памяти компьютера используется два формата: целочисленный (естественная форма) и с плавающей точкой (нормализованная форма) (точка — разделительный знак для целой и дробной части числа).
Целочисленный формат (формат с фиксированной точкой) используется для представления в компьютере целых (англ. integer) положительных и отрицательных чисел. Для этого, как правило, используются форматы, кратные байту: 1, 2, 4 байта.
В форме с фиксированной запятой числа изображаются в виде последовательности цифр с постоянным для всех чисел положением запятой (или точки), отделяющей целую часть от дробной.
Эта форма проста и привычна для большинства пользователей, но имеет небольшой диапазон представления чисел и поэтому не всегда пригодна при вычислениях. Если же в результате какой-либо арифметической операции получается число, выходящее за допустимый диапазон, то происходит переполнение разрядной сетки, и все дальнейшие вычисления теряют смысл.
Однобайтовое представление применяется только для положительных целых чисел. В этом формате отсутствует знаковый разряд. Наибольшее двоичное число, которое может быть записано при помощи 1 байта, равно 11111111, что в десятичной системе счисления соответствует числу 255(10).
Для положительных и отрицательных целых чисел обычно используется 2 и 4 байта, при этом старший бит выделяется под знак числа: 0 - плюс, 1 - минус.
Обрати внимание!
Если число вышло за указанные границы, произойдет переполнение! Поэтому при работе с большими целыми числами под них выделяется больше места, например 4 байта.
Формат с плавающей точкой (нормализованная форма) используется для представления в компьютере действительных чисел (англ. real). Числа с плавающей точкой размещаются, как правило, в 4 или 8 байтах.
Нормализованная форма представления чисел обеспечивает огромный диапазон их записи и является основной в современных ЭВМ.
Представление целого положительного числа в компьютере
Для представления целого положительного числа в компьютере используется следующее правило:
- число переводится в двоичную систему;
- результат дополняется нулями слева в пределах выбранного формата;
- последний разряд слева является знаковым, в положительном числе он равен 0.
Например, положительное число +13510 в зависимости от формата представления в компьютере будет иметь следующий вид:
- для формата в виде 1 байта - 10000111 (отсутствует знаковый разряд);
- для формата в виде 2 байтов - 0000000010000111;
- для формата в виде 4 байтов - 00000000000000000000000010000111.
Представление целого отрицательного числа в компьютере
Для представления целого отрицательного числа в компьютере используется дополнительный код. Такое представление позволяет заменить операцию вычитания числа операцией сложения с дополнительным кодом этого числа. Знаковый разряд целых отрицательных чисел всегда равен 1.
Для представления целого отрицательного числа в компьютере используется следующее правило:
- число без знака переводится в двоичную систему;
- результат дополняется нулями слева в пределах выбранного формата;
- полученное число переводится в обратный код (нули заменяются единицами, а единицы - нулями);
- к полученному коду прибавляется 1.
Обратный код для положительного двоичного числа совпадает с его прямым кодом, а для отрицательного числа нужно во всех разрядах, кроме знакового, нули заменить единицами и наоборот.
Дополнительный код для положительного числа совпадает с его прямым кодом, а для отрицательного числа образуется путем прибавления 1 к обратному коду.
Отрицательное число может быть представлено в виде 2 или 4 байт.
Представление вещественного (действительного) числа в компьютере
Вещественное число может быть представлено в экспоненциальном виде, например:
В этом формате вещественное число (R) представляется в виде произведения мантиссы (m) и основания системы счисления (P) в целой степени (n), называемой порядком.
Порядок n указывает, на какое количество позиций и в каком направлении должна сместиться в мантиссе точка (запятая), отделяющая дробную часть от целой. Мантисса, как правило, нормализуется, то есть представляется в виде правильной дроби 0 < m < 1.
Мантисса должна быть правильной дробью, у которой первая цифра после точки (запятой в обычной записи) отлична от нуля. Если это требование выполнено, то число называется нормализованным.
Для размещения вещественного числа обычно используется 2 или 4 байта.
В 2-байтовом формате представления вещественного числа первый байт и три разряда второго байта выделяются для размещения мантиссы, в остальных разрядах второго байта размещаются порядок числа, знаки числа и порядка.
В 4-байтовом формате представления вещественного числа первые три байта выделяются для размещения мантиссы, в четвертом байте размещаются порядок числа, знаки числа и порядка.
Чем больше разрядов отводится под запись мантиссы, тем выше точность представления числа.
Практические примеры
В числах одинарной точности:
на знак отводится 1 бит, на экспоненту - 8, на мантиссу - 23.
В нормализованных числах старший бит всегда равен единице и он не записывается в число, поэтому реально мантисса для таких чисел имеет размер 24 бита.
К экспоненте перед записью добавляется число 127.
Пример 1
Пример 2
Читайте также: