Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
!!!ГОСы информатика и вычислительная техника.doc
Скачиваний:
0
Добавлен:
01.05.2025
Размер:
3.93 Mб
Скачать
  1. Формы представления чисел в эвм. Коды чисел: прямой, обратный, дополнительный

Формы представления чисел в ЭВМ.

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

Числа с фиксированной точкой.

Форма записи числа с фиксированной точкой использовалась в основном на ранних этапах развития вычислительной техники. Запись числа с фиксированной точкой обычно имеет знаковый и цифровой разряды. Фиксированная точка означает, что на этапе конструирования ЭВМ было определено, сколько и какие разряды машинного слова отведены под изображение целой и дробной частей числа. Запятая в разрядной сетке может быть зафиксирована, в принципе, после любого разряда.

Пример. Ячейка с целой и дробной частью.

Как частный случай числа с фиксированной точкой может быть рассмотрена запись целого числа (в этом случае все разряды, кроме знакового, используются для записи целой части).

Пример. Ячейка с записью целого числа.

К достоинствам использования чисел с фиксированной точкой относятся простота выполнения арифметических операций и высокая точность изображения чисел. К недостаткам - небольшой диапазон представления чисел.

Числа с плавающей точкой.

Для представления чисел с плавающей точкой (ЧПТ) используется полулогарифмическая форма записи числа:

     N = ± mq ± p

где q- основание системы счисления,  p - порядок числа, m - мантисса числа N.

Положение точки определяется значением порядка  p. С изменением порядка точка перемещается (плавает) влево или вправо. Пример.

     12510=12.5*101=1.25*102=0.125*103=0.0125*104=...

Для установления однозначности при записи чисел принята нормализованная форма записи числа. Мантисса нормализованного числа может изменяться в диапазоне:  1/q ≤ | m | < 1. Таким образом в нормализованных числах цифра после точки должна быть значащей.

Пример.

Для представления чисел в машинном слове выделяют группы разрядов для изображения мантиссы, порядка, знака числа и знака порядка: а) представление чисел в формате полуслова

б) представление чисел в формате слова

Наиболее типично представление ЧПТ в формате слова (32 разряда). Пример. Число А=-3.510=-11.12=-0.111·1010

Максимальным числом представимым в формате слова будет A=(0.1111...1·101111111)2 (1·2127)10.

Таким образом числа с плавающей точкой позволяют увеличить диапазон обрабатываемых чисел, но при этом точность изображения чисел определяется только разрядами мантиссы и уменьшается по сравнению с числами с фиксированной точкой. При записи числа в формате слова диапазон представимых чисел будет от -1·2127 до 1·2127 (2127 1038), а точность определяться мантиссой, состоящей из 23 разрядов. Точность может быть повышена путем увеличения количества разрядов мантиссы. Это реализуется путем представления чисел с так называемой двойной точностью (используется формат двойного слова):

Коды чисел

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

Представление числа в привычной форме "знак"-"величина", при которой старший разряд ячейки отводится под знак, а остальные - под запись числа в двоичной системе, называется прямым кодом двоичного числа. Например, прямой код двоичных чисел 1001 и -1001 для 8-разрядной ячейки равен 00001001 и 10001001 соответственно.

Положительные числа в ЭВМ всегда представляются с помощью прямого кода. Прямой код числа полностью совпадает с записью самого числа в ячейке машины. Прямой код отрицательного числа отличается от прямого кода соответствующего положительного числа лишь содержимым знакового разряда. Но отрицательные целые числа не представляются в ЭВМ с помощью прямого кода, для их представления используется так называемый дополнительный код.

Дополнительный код числа.

Дополнительный код положительного числа равен прямому коду этого числа. Дополнительный код отрицательного числа m равен 2k-|m|, где k - количество разрядов в ячейке.

Как уже было сказано, при представлении неотрицательных чисел в беззнаковом формате все разряды ячейки отводятся под само число. Например, запись числа 243=11110011 в одном байте при беззнаковом представлении будет выглядеть следующим образом:

1 1 1 1 0 0 1 1

При представлении целых чисел со знаком старший (левый) разряд отводится под знак числа, и под собственно число остаётся на один разряд меньше. Поэтому, если приведённое выше состояние ячейки рассматривать как запись целого числа со знаком, то для компьютера в этой ячейке записано число -13 (243+13=256=28).

Но если это же отрицательное число записать в ячейку из 16-ти разрядов, то содержимое ячейки будет следующим:

1 1 1 1 1 1 1 1 1 1 1 1 0 0 1 1

Знаковый разряд

Возникает вопрос: с какой целью отрицательные числа записываются в виде дополнительного кода и как получить дополнительный код отрицательного числа?

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

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

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]