Представление целых чисел в дополнительном коде

Вещественные числа обычно представляются в виде чисел с плавающей запятой. Вещественные числа представляются в виде совокупности мантиссы и порядка в двоичной системе счисления. Для этого нужно перевести число в двоичную систему счисления. При представлении в компьютере действительного числа с плавающей точкой тоже используется нормализованная мантисса и целый порядок.

Число с плавающей запятой состоит из набора отдельных двоичных разрядов, условно разделенных на так называемые знак (англ. sign), порядок (англ. exponent) и мантиссу (англ. mantis). Знак — один бит, указывающий знак всего числа с плавающей точкой. При этом лишь некоторые из вещественных чисел могут быть представлены в памяти компьютера точным значением, в то время как остальные числа представляются приближёнными значениями.

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

Представление целых чисел в дополнительном коде

Целые от до округляются к ближайшему чётному целому. Используется для работы с вещественными числами везде, где не нужна очень высокая точность. В совокупности эти факторы делают Quadruple весьма экзотичным и редко встречающимся форматом чисел с плавающей запятой. Диапазон чисел, которые можно записать данным способом, зависит от количества бит, отведённых для представления мантиссы и показателя.

Прямой код числа.

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

Каждое значение денормализованного числа меньше самого маленького нормализованного («обычного») значения числа с плавающей запятой. Хоть денормализованные числа и позволяют бороться с погрешностями и обрабатывать очень маленькие значения, за эти возможности приходится дорого платить. Ввиду сложности денормализованные числа крайне редко реализуют на аппаратном уровне — вместо этого используются программные реализации, работающие значительно медленнее.

Алгоритм представления числа с плавающей запятой.

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

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

В компьютере этим занимается арифметический сопроцессор, встроенный в центральный процессор машины. Приводим полученный результат к машинному виду. Для этого мы должны внести поправку в порядок — уменьшить его на единицу.

Переведем результат в десятичное представление. В следствие этого система вещественных чисел, представимых в машине, является дискретной (прерывной) и конечной. Такой способ записи чисел называется представлением числа с плавающей точкой. Мантиссу и порядок q-ичного числа принято записывать в системе с основанием q, а само основание — в десятичной системе. Любая информация в памяти компьютера представляется в двоичном виде: последовательностью нулей и единиц.

Часть памяти, в которой хранится одно число, будем называть ячейкой. Минимальная ячейка, в которой может храниться целое число, имеет размер 8 битов — 1 байт. Получим представление десятичного числа 25 в такой ячейке.

Теперь осталось «вписать» его в восьмиразрядную ячейку (записать так называемое внутреннее представление числа). Самый старший разряд — первый слева, хранит знак числа. Если число положительное, то в этом разряде ноль, если отрицательное — единица. Можно расписать это число в развернутой форме и вычислить выражение.

Нормализованная запись числа.

Если к младшему разряду этого числа прибавить единицу, то получится число 10000000. В результате выполнения такого алгоритма единица в старшем разряде получается автоматически. Единица в старшем разряде, получаемая при сложении, выходит за границу ячейки и исчезает. Наибольшее по модулю отрицательное значение в 8-разрядной ячейке равно -27 = -128. Его внутреннее представление: 10000000.

Число́ одина́рной то́чности — компьютерный формат представления чисел, занимающий в памяти одно машинное слово (в случае 32-битного компьютера — бита или байта). 1. Модуль числа записать в прямом коде в n двоичных разрядах.

Читайте также:

Related Posts

Запись опубликована в рубрике Предоставить с метками . Добавьте в закладки постоянную ссылку.