Лекции.Орг


Поиск:




Категории:

Астрономия
Биология
География
Другие языки
Интернет
Информатика
История
Культура
Литература
Логика
Математика
Медицина
Механика
Охрана труда
Педагогика
Политика
Право
Психология
Религия
Риторика
Социология
Спорт
Строительство
Технология
Транспорт
Физика
Философия
Финансы
Химия
Экология
Экономика
Электроника

 

 

 

 


Ш. Порядок выполнения работы




Пример 1. Перевести число 13 из десятичной системы счисления в двоичную (получить пять знаков после запятой в двоичном представлении).

Сначала делим тринадцать на два, получаем частное, равное шести, и единицу в остатке; так как частное не равно нулю, делим его на два в соответствии с шагом 2 алгоритма перевода.

Рисунок 5 – Получение двоичной записи числа 13

В результате имеем новое частное, равное трем, и ноль в остатке. Это частное также не равно нулю, поэтому делим его на два, получая частное, равное единице, и два в остатке. Еще раз делим частное (единицу) на два, в этот раз частное равно нулю, а остаток единице. Так как мы получили в результате деления ноль, то переходим к третьему шагу и получаем двоичную запись исходного значения (тринадцать), которая имеет вид 1101.

Пример 2. Перевести число 1000001 в десятичную систему счисления:

Найдем сумму произведений значений битов на их весовые коэффициенты. найденная сумма и будет являться десятичным представлением числа 1000001.

1000001(2) =1×26+0×25+0×24+0×23+0×22+0×21+1×20=64+1=65(10).

Замечание. Если в каком-либо разряде стоит нуль, то соответствующее слагаемое можно опускать.

Пример 3. Сложить числа 00111010 и 00011011.

Решение задачи

+00111010

00011011

мы начинаем со сложения 0 и 1 в последнем столбце, получаем единицу, которую записываем под столбцом. Теперь мы складываем две единицы из следующего столбца, получая 10. Записываем 0 под столбцом, а 1 — над следующим столбцом. На этом этапе процесс решения выглядит следующим образом:

00011011

Складываем 1, 0 и 0, получаем 1 и записываем ее под этим столбцом. Следующие две единицы в сумме дают 10, записываем 0 под столбцом и переносим 1 в следующий столбец. Теперь решение выглядит так:

+00111010

00011011

Три единицы в следующем столбце в сумме дают 11, записываем младшую 1 под столбцом, а другую переносим в следующий столбец. Теперь складываем 1, 1 и 0, получаем 10. Снова записываем 0 под столбцом, а 1 — в следующий столбец.

+00111010

00011011

Складываем 1, 0 и 0 из предпоследнего столбца, получаем 1, записываем ее под столбцом. И, наконец, сумма чисел в последнем столбце равна 0, записываем ее под столбцом. Окончательное решение выглядит так:

+00111010.

Пример 4. Найти десятичный эквивалент чисел, заданных в представлении с плавающей точкой

Предположим, что байт содержит такую последовательность битов: 01101011. Проанализируем эту последовательность, применяя определения, данные выше: знаковый разряд равен 0, порядок — 110 и мантисса — 1011. Для того чтобы расшифровать значение, хранящееся в байте, сначала извлекаем мантиссу и помещаем слева от нее разделительную точку, получая

.1011.

Затем извлекаем порядок (110) и переводим его как 3-битовое представление с избытком в десятичную систему счисления. В нашем случае код порядка является представлением 2. Перемещаем разделительную точку на 2 бита вправо (отрицательный порядок означает, что точку нужно перемещать влево). Следовательно, мы имеем последовательность

10.11,

которая является двоичной записью дроби 23/4. Затем обращаем внимание на то, что знаковый разряд равен 0, следовательно, перед нами неотрицательное число. Делаем вывод, что в байте 01101011 хранится число 23/4.

В качестве еще одного примера рассмотрим байт 10111100. Выписываем мантиссу

.1100

и перемещаем точку на один бит влево, так как порядок (011) является кодом числа — 1. Имеем последовательность

.01100,

которая является кодом 3/8. Знаковый разряд исходной последовательности равен 1, значит, число отрицательное. Делаем вывод, что последовательность 10111100 является кодом - 3/8.

Пример 5. Чтобы записать число в представлении с плавающей запятой, выполняем действия, обратные предыдущим. Например, чтобы записать число 11/8, сначала выражаем его в двоичном представлении и получаем 1.001. Затем переписываем эту последовательность в область мантиссы слева направо, начиная с самой левой единицы в двоичной записи. На этом этапе байт выглядит следующим образом: _ _ _ _ 1 0 0 1

Теперь нужно заполнить поле порядка. Для этого представляем ман-тиссу с разделительной точкой слева и определяем число битов и направление, в котором нужно передвинуть точку, чтобы получить исходную двоичную запись. В нашем примере, чтобы получить 1.011, нужно передвинуть точку в.1001 на один бит вправо. Следовательно, порядок равен 1, поэтому записываем 101 (код 1 в представлении с избытком 4) в поле порядка. Наконец, записываем в позицию знакового разряда 0, потому что дробь неотрицательная. Окончательный байт выглядит так:

01011001.

Наиболее тонким моментом в преобразовании является заполнение поля мантиссы. Правило гласит: выписывать последовательность разрядов двоичной записи слева направо, начиная с самой левой 1 в двоичной записи. В качестве примера рассмотрим процесс записи числа 3/8, двоичное представление которого.011. В этом случае мантиссой будет

_ _ _ _ 1 1 0 0,

а не

_ _ _ _ 0 1 1 0.

Мантисса имеет такой вид, потому что поле мантиссы заполняется, начиная с самой левой единицы, которая появляется в двоичном представлении. Это правило исключает возможность многократной записи одного значения. Оно также означает, что мантисса чисел, не равных нулю, будет всегда начинаться с 1. О таком представлении говорят, что оно нормализованное. Обратите внимание, что представление нуля является особым случаем: его представление с плавающей точкой состоит из одних нулей. Ошибка усечения. Рассмотрим проблему, которая возникает, когда мы пытаемся записать значение 25/8 в представлении с плавающей точкой, используя для него один байт памяти. Сначала записываем 25/8 в двоичном представлении, получаем 10.101. Но, когда мы переписываем его в поле мантиссы, нам не хватает места, и самая правая 1 (которая занимает позицию с весом разряда 1/8) теряется. Если мы на данном этапе будем игнорировать эту проблему и продолжим заполнение поля порядка, то в результате придем к последовательности 01101010, которая является представлением 21/2 вместо 25/8. То, что произошло, называется ошибкой усечения и означает, что часть числа потеряна, потому что поле мантиссы недостаточно велико.

 

IV.Отчет по работе

 

Отчет о выполненной работе оформляется индивидуально каждым студентом.

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

Вторая часть отчета должна содержать описание решения индивидуального задания.

В заключительной части отчета должны быть приведены выводы, содержащие научный анализ полученных результатов.

 

V. Контрольные вопросы

1. Чему равен дополнительный код отрицательного числа?

2. С какой целью отрицательные числа записываются в виде дополнительного кода?

3. На что опирается способ представления чисел с плавающей запятой?

 





Поделиться с друзьями:


Дата добавления: 2016-11-12; Мы поможем в написании ваших работ!; просмотров: 679 | Нарушение авторских прав


Поиск на сайте:

Лучшие изречения:

Наглость – это ругаться с преподавателем по поводу четверки, хотя перед экзаменом уверен, что не знаешь даже на два. © Неизвестно
==> читать все изречения...

2675 - | 2239 -


© 2015-2025 lektsii.org - Контакты - Последнее добавление

Ген: 0.007 с.