Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ККР АЛОВТ (ответы).doc
Скачиваний:
1
Добавлен:
01.04.2025
Размер:
617.47 Кб
Скачать

Перевод между 2, 8, 16 сс

Для перевода чисел между этими системами пользуются тем фактом, что: 23=8, 24=16. Т.е. трем двоичным разрядам соответствует один восьмеричный, четырем двоичным – один шестнадцатеричный. Для перевода из 2-ной системы в 8-ю или 16-ю необходимо разбить число, начиная от десятичной точки, на группы по 3 или 4 цифры. При переводе целые части дополнить 0 спереди, дробные – сзади.

Пример: 10110,100112 : 0001 0110,1001 10002 = 16,9816 010 110,100 110 = 26,368

Для обратного перевода (из 8 или 16 в 2-ю) необходимо каждую цифру 8й системы заменить группой из трех двоичных цифр, а каждую цифру 16й – группой из четырех двоичных цифр.

  1. Перечислите виды представления целых чисел в ЭВМ. Назовите формы кодирования целых чисел со знаком. Объясните правила представления целых чисел в дополнительном коде. Приведите примеры представления положительных и отрицательных чисел в дополнительном коде.

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

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

Пример прямого кода чисел, представляемых в байте (byte):

110 =

0

0

0

0

0

0

0

1

- 110 =

1

0

0

0

0

0

0

1

12710 =

0

1

1

1

1

1

1

1

- 12710 =

1

1

1

1

1

1

1

1

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

Вычисления сводятся к простому арифметическому сложению при помощи обратного или дополнительного кода, которыми представляются отрицательные числа.

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

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

Пример обратного кода чисел, представляемых в байте (byte):

110 =

0

0

0

0

0

0

0

1

- 110 =

1

1

1

1

1

1

1

0

12710 =

0

1

1

1

1

1

1

1

- 12710 =

1

0

0

0

0

0

0

0

Дополнительный код (дополнение до 2) строится по следующим правилам:

  1. Дополнительный код неотрицательного числа совпадает с обратным и прямым кодом.

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

Дополнительный код отрицательного числа А разрядностью n, записанного в q-й СС можно получить также по формуле A(q),дк = qn-|A(q)|. Поэтому его и называют дополнением до q.

Десятичное представление

Код двоичного представления (8 бит)

прямой

дополнительный

127

01111111

01111111

1

00000001

00000001

0

00000000

00000000

-0

10000000

--------

-1

10000001

11111111

-127

11111111

10000001

-128

--------

10000000

Для перевода отрицательного числа из дополнительного кода в естественное представление необходимо проделать те же операции и в том же порядке (инверсия и +1 к мл. разряду).

  1. Перечислите формы записи вещественных чисел. Объясните разницу между представлением чисел с фиксированной и «плавающей» запятой. Поясните термины «мантисса», «порядок», «нормальная форма». Приведите примеры таких чисел.

В ЭВМ применяют две формы представления чисел: с фиксированной запятой («естественная форма») и с плавающей запятой («полулогарифмическая форма»).

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

При естественной форме число записывается в естественном натуральном виде, с выделением в общем случае следующих компонент числа: знака, запятой и цифр числа, например -238 — целое отрицательное число, 0,00125 — правильная дробь и т.д. Следовательно, для представления таких чисел в ЭВМ, необходимо в слове данных выделить поле знака, поле запятой и поле цифр.

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

В общем случае любое число A, представляемое в форме с плавающей точкой, является произведением двух сомножителей: A(q) = m∙qp, где m — мантисса числа A (как правило, |m|<1); q — основание системы счисления; р — целочисленный порядок.

Например:

5,1510 = 5,15∙100 = 51,5∙10-1 = 0,515∙101 = 0,0515∙102 = …

С изменением порядка в ту или иную сторону точка как бы «плавает» в изображении числа. Следовательно, при представлении чисел с плавающей точкой необходимо записать в разрядной сетке ЭВМ со своими знаками мантиссу ±m и порядок ±р. Знак числа при этом совпадает со знаком мантиссы.

В вычислительных машинах показатель степени принято отделять от мантиссы буквой «E» (exponent). Например, число 1,528535047×10−25 в большинстве языков программирования высокого уровня записывается как 1.528535047E-25.

Все сказанное о нормализации можно применять и к двоичной системе.

Число A(q) = m∙qp находится в нормальной форме, если 1/q≤|m|<1.

Например: 5,1510 = 0,515∙101 (нормальная форма) = 0,0515∙102 (ненормальная форма).

Проще говоря, число находится в нормальной форме, если модуль мантиссы меньше единицы и первая цифра после запятой – не 0.

В процессе вычислений возможно нарушение нормализации вправо, если |m|<1/q, или влево, если |m|>1.

Мантисса, равная нулю, не может быть нормализована, поэтому этот случай рассматривается как потеря значимости и вырабатывается требование прерывания.

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

  1. Изложите особенности хранения вещественных чисел в стандарте IEEE-754-2008. Поясните, как в такой записи определяется знак числа, как хранятся мантисса и порядок.

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

Для упрощения вычислений и сравнения действительных чисел значение порядка в ЭВМ хранится в виде смещенного числа, т.е. к настоящему значению порядка перед записью его в память прибавляется смещение. Смещение выбирается так, чтобы минимальному значению порядка соответствовал нуль. Смещение требуется, чтобы не вводить в число еще один знак. Смещённый порядок всегда положительное число.

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

В формате чисел с плавающей запятой принято, что мантисса всегда больше 1. То есть диапазон значений мантиссы лежит в диапазоне от 1 до 2.

n+b

n+b-1

...

n

n-1

...

0

S

Exp (b бит)

M (n бит)

n – количество бит для представления мантиссы

b – количество бит для представления порядка (экспоненты)

S – признак знака (0 – число положительное, 1 - отрицательное)

Exp – смещенный порядок (смещенная экспонента). Смещение 2b-1 – 1

M – дробная часть (остаток) мантиссы нормализованного (см. прим.) числа.

Алгоритм для получения представления действительного числа:

  1. перевести модуль данного числа в двоичную систему счисления;

  2. нормализовать двоичное число, т.е. записать в виде M × 2p, где M — мантисса (ее целая часть равна 1(2)) и p — порядок, записанный в десятичной системе счисления;

  3. прибавить к порядку смещение и перевести смещенный порядок в двоичную систему счисления;

  4. учитывая знак заданного числа (0 — положительное; 1 — отрицательное), выписать его представление в памяти ЭВМ;

  5. записать полученное число в шестнадцатеричной системе счисления.

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