
- •Ответы на теоретические задания к контрольной работе по дисциплине «Арифметические и логические основы вт» для «альтернативно-одаренных» учащихся.
- •Виды существования информации
- •Классификация информации
- •Непозиционные системы счисления
- •Позиционные системы счисления
- •Общее правило перевода чисел из p-ой сс в q-ю.
- •Двоично-десятичная система счисления.
- •Перевод между 2, 8, 16 сс
- •Пример 32битного (single precision) представления числа
- •Логические функции двух переменных
- •Интерпретации логических функций Графические
- •Переключательные
- •Словесное описание
- •Описание в виде таблицы истинности
- •Описание в виде алгебраического выражения
- •Описание в виде последовательности десятичных чисел
- •Геометрическое представление (кубические комплексы)
- •Базовые логические элементы
- •Дополнительные логические элементы
- •Алгоритм представления фал в днф или кнф:
- •Базис Пирса (или-не)
- •Практические задания.
Перевод между 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й – группой из четырех двоичных цифр.
Перечислите виды представления целых чисел в ЭВМ. Назовите формы кодирования целых чисел со знаком. Объясните правила представления целых чисел в дополнительном коде. Приведите примеры представления положительных и отрицательных чисел в дополнительном коде.
Целые числа могут представляться как беззнаковые, так и со знаком. В компьютерной технике применяются три формы записи (кодирования) целых чисел со знаком: прямой код, обратный код, дополнительный код.
При записи числа в прямом коде старший разряд является знаковым разрядом. Если его значение 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) строится по следующим правилам:
Дополнительный код неотрицательного числа совпадает с обратным и прямым кодом.
Дополнительный код отрицательного числа получается образованием обратного кода с последующим прибавлением единицы к его младшему разряду.
Дополнительный код отрицательного числа А разрядностью 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 к мл. разряду).
Перечислите формы записи вещественных чисел. Объясните разницу между представлением чисел с фиксированной и «плавающей» запятой. Поясните термины «мантисса», «порядок», «нормальная форма». Приведите примеры таких чисел.
В ЭВМ применяют две формы представления чисел: с фиксированной запятой («естественная форма») и с плавающей запятой («полулогарифмическая форма»).
Под естественной формой обычно понимают представление числа с фиксированной запятой. Положение запятой строго устанавливается в зависимости от типа числа. Для правильных дробей запятая ставится перед старшим разрядом. Для смешанных дробей – в определенном месте, отделяющем целую часть от дробной. Для целых чисел запятая ставится после младшего разряда.
При естественной форме число записывается в естественном натуральном виде, с выделением в общем случае следующих компонент числа: знака, запятой и цифр числа, например -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, поэтому представление чисел в информатике предусматривает специальный признак.
Изложите особенности хранения вещественных чисел в стандарте 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 – дробная часть (остаток) мантиссы нормализованного (см. прим.) числа.
Алгоритм для получения представления действительного числа:
перевести модуль данного числа в двоичную систему счисления;
нормализовать двоичное число, т.е. записать в виде M × 2p, где M — мантисса (ее целая часть равна 1(2)) и p — порядок, записанный в десятичной системе счисления;
прибавить к порядку смещение и перевести смещенный порядок в двоичную систему счисления;
учитывая знак заданного числа (0 — положительное; 1 — отрицательное), выписать его представление в памяти ЭВМ;
записать полученное число в шестнадцатеричной системе счисления.