Поможем написать учебную работу
Если у вас возникли сложности с курсовой, контрольной, дипломной, рефератом, отчетом по практике, научно-исследовательской и любой другой работой - мы готовы помочь.
Если у вас возникли сложности с курсовой, контрольной, дипломной, рефератом, отчетом по практике, научно-исследовательской и любой другой работой - мы готовы помочь.
Лабораторная работа № 1
«ПРЕДСТАВЛЕНИЕ И ЗАПИСЬ ДВОИЧНЫХ ЧИСЕЛ»
Цель работы: Изучить правила перевода чисел из одной системы исчисления в другую. Изучить способы кодирования двоичных чисел. Изучить формы представления двоичных чисел, а также способы перевода одной формы записи в другую.
Время выполнения работы 4 часа.
Краткие теоретические сведения
Системой исчисления называют систему приемов и правил, которые позволяют устанавливать взаимно однозначное соответствие между любым числом и его представлением в виде совокупности конечного числа символов.
Любая позиционная система исчисления с основой может быть представлена в виде полинома:
, (1)
где число в позиционной системе исчисления с основой ;
коэффициент;
степень и индекс.
Вес каждого символа определяется его позицией в записи числа.
В двоичной системе исчисления основанием системы является число 2, а коэффициенты могут принимать значения или . Эти двоичные цифры называются битами. В общем виде число в двоичной системе исчисления будет записано как
(2)
Цифровые устройства используют элементы, которые имеют только два устойчивых состояния, поэтому двоичная система исчисления приобрела широчайшее распространение для представления и обработки информации.
Пусть имеем целое десятичное число . Преобразовать его в двоичное число это значит представить в виде
, (1.1)
где двоичные цифры, равные или .
Цифры двоичного числа можно определить последовательно, начиная с и кончая , следующим образом:
а) делим заданное число на 2. В результате получаем целую часть частного
(1.2)
и остаток .
б) делим число на 2. В результате получаем в частном
(1.3)
и в остатке и т.д.
Процесс деления продолжается до тех пор, пока мы не получим в частном и в остатке . Это означает, что мы определили старший разряд двоичного числа.
Пусть имеем дробное десятичное число <. Требуется определить двоичную дробь
, (1.4)
где двоичные цифры, равные или .
Цифры двоичного числа можно определить последовательно, начиная с , следующим образом:
а) умножаем заданное число на 2:
(1.5)
Отделяем целую часть числа , равную и дробную часть
(1.6)
б) умножаем на 2:
(1.7)
Целая часть от равна , а дробная часть
(1.8)
используется для дальнейшего преобразования.
Преобразование продолжается до тех пор, пока после очередного умножения на 2 дробная часто не окажется равной нулю (что означает точное преобразование в двоичную дробь) или пока мы не получим достаточное количество двоичных разрядов, удовлетворяющее нас с точки зрения точности преобразования.
Рассмотрим процесс преобразования десятичного числа в соответствующее двоичное (см. рисунок 1).
а)
б)
Рисунок 1 Процесс преобразования десятичного числа в двоичное:
а) целая часть; б) дробная часть
Итак,
Для этого надо двоичное число
(1.9)
представить в виде
(1.10)
и непосредственно выполнить все указанные в этой формуле действия.
Рассмотрим процесс преобразования двоичного числа в соответствующее десятичное (см. рисунок 2).
а)
б)
Рисунок 2 Процесс преобразования двоичного числа в десятичное:
а) целая часть; б) дробная часть
Итак,
2. Кодирование двоичных чисел
2.1. Прямой код числа
Простейшим машинным кодом является прямой код , получаемый при кодировании в числе только знаковой информации, причем знак «+» кодируется нулем, а знак «» единицей. Поэтому прямой код положительного числа совпадает с его записью, а прямой код отрицательного числа отличается от обычной записи числа знаковым разрядом, в который заносится единица.
Примечание 1. Если под поле цифр разрядов выделено больше, чем необходимо для представления числа , то разряды (цифры) числа заносятся в разрядную сетку ЭВМ в соответствии со своими весами. Код знака числа практически во всех ЭВМ заносится в старший разряд разрядной сетки.
Прямой код числа широко используется при хранении чисел в памяти и выполнении операции умножения. В современных ЭВМ прямой код применяется только для представления положительных двоичных чисел.
Для представления отрицательных чисел применяется обратный или дополнительный коды, поскольку над отрицательными числами в прямом коде неудобно выполнять операции арифметического сложения.
2.2. Обратный код числа
Для образования обратного кода отрицательного числа необходимо в знаковом разряде поставить единицу, а все цифровые разряды инвертировать (заменить на , а на ). Очевидно, что
2.3. Дополнительный код числа
Дополнительный код отрицательного числа образуется из обратного кода путем увеличения на единицу младшего разряда.
Примечание 2. Дополнительный и обратный коды положительного числа совпадают с его прямым кодом. Прямой код можно получить из дополнительного или обратного кода по тем же правилам, которые служат для нахождения дополнительного и обратного кодов.
Пример:
Число Прямой код Обратный код Дополнительный код
3. Формы представления чисел
Для сокращения длины разрядной сетки и упрощения обработки данных положение запятой может быть зафиксировано схемотехнически. При этом формат машинного представления чисел с фиксированной запятой состоит только из двух структурных компонент: поле знака и поле цифр.
Диапазон представления чисел для этого формата .
В зависимости от размеров целой и дробной частей возможны следующие случаи:
1) Если , , то
2) Если , , то
3) Если , , то
4) Если , , то
Очевидно, что ограничение длины разрядной сетки приводит к ограничению диапазона хранимых чисел и потере точности их представления. Поэтому на практике широко используется и другая форма представления чисел.
3.2. Представление чисел в форме с плавающей запятой
В общем виде числа с плавающей запятой имеют следующий вид:
,
где мантисса числа ;
порядок числа .
Порядок (с учетом знака) показывает, на сколько разрядов и в какую сторону сдвинута запятая при замене формы записи числа с естественной на нормальную. Например, число можно представить, как и как .
В двоичной системе исчисления формат машинного изображения чисел с плавающей запятой включает знаковые поля (мантиссы и порядка), поле мантиссы и поле порядка числа и имеет следующий вид:
Для данного формата разрядной сетки можно записать следующий диапазон представления чисел:
Примеры представление целых и дробных двоичных чисел в форме с плавающей запятой приведены на рисунке 3.
а)
б)
Рисунок 3 Представление двоичных чисел в форме с плавающей запятой:
а) целая часть; б) дробная часть
Примечание 3. Для упрощения операций над порядками применяют представление чисел с плавающей запятой со смещенным порядком:
,
где целое положительное число (смещение), .
Обычно , где число двоичных разрядов в поле цифр несмещенного порядка. В этом случае поле знака порядка избыточно, так как всегда положительно. Такие смещенные порядки называют характеристиками. В зависимости от типа данных числа с плавающей запятой в памяти ЭВМ хранятся в одном из следующих форматов:
При выполнении арифметических операций над числами с плавающей запятой может получаться результат, выходящий за пределы диапазона представления чисел. При этом выход за правую границу диапазона принято называть переполнением порядка (получение очень большого числа), а выход за левую границу исчезновением порядка (получение очень малого числа).
Примечание 4. В стандарте IEEE крайние значения порядка (характеристики) зарезервированы и не используются для представления обычных чисел. Максимальное значение характеристики, представленное всеми единицами при положительном знаке числа, зарезервировано для представления значения +∞ при нулевой мантиссе. При знаке минус число с максимальной характеристикой используется для представления -∞ и неопределенности. Значение с минимальной характеристикой, равной нулю, зарезервировано для представления денормализованных чисел (положительных и отрицательных), а также для представления нуля (представляется всеми нулями), причем различают +0 и 0.
Наиболее распространено и удобно для представления в ЭВМ ограничение вида <1. Форма представления чисел, для которых справедливо данное ограничение, называется нормализованной.
Если нормализованное двоичное число положительно (в знаковом разряде стоит ), то в старшем цифровом разряде должна стоять . Если же число отрицательно (в знаковом разряде стоит ), то в старшем цифровом разряде дополнительного или обратного кода должен стоять .
Примечание 1. Сочетания и в знаковом и старшем цифровом разрядах означают выполнение одного из условий нормализации , а сочетания и в этих же разрядах нарушение этого условия.
Для нормализации числа в этом случае следует повторить цикл сдвига цифровой части влево на один разряд (т. е. умножение на ) с одновременным вычитанием единицы из порядка (что эквивалентно делению на ) до тех пор, пока не начнет выполняться условие нормализации.
Например, отрицательное число
является ненормализованным, так как в разряде знака и в старшем цифровом разряде имеет место сочетание . Для нормализации необходимо сдвинуть мантиссу на разряда влево, а из порядка вычесть число два . В результате получим нормализованное число
Порядок выполнения работы
Таблица 1Варианты заданий
№ вар. |
А |
В |
С |
1 |
-10,125 |
13,75 |
0,12 |
2 |
1,22 |
-6,82 |
42,25 |
3 |
96,5 |
4,3 |
-0,96 |
4 |
-12,4 |
3,33 |
-24,5 |
5 |
21,18 |
-0,82 |
14,15 |
6 |
-15,42 |
0,08 |
-6,45 |
Контрольные вопросы и задания