ТОР 5 статей: Методические подходы к анализу финансового состояния предприятия Проблема периодизации русской литературы ХХ века. Краткая характеристика второй половины ХХ века Характеристика шлифовальных кругов и ее маркировка Служебные части речи. Предлог. Союз. Частицы КАТЕГОРИИ:
|
Разбор решений типовых задачЗадача 1. Пусть дано побайтовое шестнадцатеричное представление числа C2258000 с одинарной точностью (m=23, p=8). Переведем имеющееся представление в двоичную систему счисления: 1100 0010 0010 0101 1000 0000 0000 0000 Разделим двоичное представление на знак (1 бит), порядок (8 бит) и мантиссу (23 бита): 1 10000100 01001011000000000000000 Знаковый бит, равный 1 показывает, что число отрицательное. Смещенный порядок 100001002 в десятичном виде соответствует числу 132. Скорректируем порядок: вычтем число 127 (2p-1-1 = 28-1-1) из 132, получим число 5. К мантиссе добавим слева скрытую единицу 1,01001011000000000000000, перенесем порядок от скрытой единицы вправо на полученную величину порядка (порядок равен пяти):101001,011000000000000000. И, наконец, определим десятичное число: 101001,0112 = 41,37510 Учитывая, что число отрицательное, окончательно имеем -41,375. Задание 2. Найти десятичный эквивалент числа а) 100010,1110ПК Так как число записано в прямом коде, то старший разряд кодирует знак числа 1|00010,1110ПК, следовательно, имеем отрицательное число (в старшем разряде 1). Модуль числа равен 00010,11102. Переведем данное двоичное представление в десятичную систему счисления, получим: 00010,11102=1·21+1·2-1+1·2-2+1·2-3=2,875 Учитывая, что число отрицательное, окончательно получим -2,875. б) 01010101ДК Так как число записано в дополнительном коде, то старший разряд кодирует знак числа 0|1010101ДК, следовательно, имеем положительное число (в старшем разряде 0). Значит, дополнительный код числа совпадает с его прямым кодом и для получения десятичного эквивалента числа его просто надо перевести в десятичную систему счисления: 10101012=1·26+1·24+1·22+1·20=85 Таким образом, получили число 85. в) 11010100ДК Так как число записано в дополнительном коде, то старший разряд кодирует знак числа 1|1010100ДК, следовательно, имеем отрицательное число (в старшем разряде 1). Значит, для получения модуля числа его предварительно надо преобразовать: – отбросив знаковый разряд, получим число 1010100; – инвертируем все разряды до самой младшей единицы 0101100; – переведем полученное число в десятичную систему счисления: 01011002=44. Получили модуль искомого числа. Учитывая знак, окончательно получим -44. г) 10101011ОК Так как число записано в обратном коде, то старший разряд кодирует знак числа 1|0101011ОК, следовательно, имеем отрицательное число (в старшем разряде 1). Значит, для получения модуля числа его предварительно надо преобразовать: – отбросив знаковый разряд, получим число 0101011; – инвертируем все разряды 1010100; – переведем полученное число в десятичную систему счисления: 10101002=84. Получили модуль искомого числа. Учитывая знак, окончательно получим -84. Задание 3. Опередить прямой, обратный и дополнительный восьми битный код представленных десятичных чисел. а) 41 Так как число положительное, то его прямой, дополнительный и обратный коды совпадают. Переведем 41 в двоичную систему счисления: 41= 1010012. Так как число положительное, то в знаковом разряде должен быть ноль: 0| 101001, так же следует дополнить представление нулем перед самой старшей единицей для получения 8-ми битного представления числа: 0| 0101001 (положительные числа в случае увеличения числа разрядов дополняются слева нулями). 41=00101001ПК=00101001ДК=00101001ОК б) -41 Так как число отрицательное, то для получения прямого кода числа требуется перевести модуль этого числа в двоичную систему счисления, а затем в знаковый разряд записать 1: |-41|=41= 1010012=001010012 (получен 8-ми битный код модуля числа) Записав 1 в знаковый разряд, окончательно получим: -41=10101001ПК.
Так как число отрицательное, то для получения дополнительного кода числа требуется перевести модуль этого числа в двоичную систему счисления, а затем проинвертировать все разряды левее младшей единицы: |-41|=41= 1010012=001010012 (получен 8-ми битный код модуля числа) Младшая единица стоит в записи последней, значит, после инвертирования левее стоящих цифр, получим: 11010111. Таким образом, -41=11010111ДК.
Так как число отрицательное, то для получения обратного кода числа требуется перевести модуль этого числа в двоичную систему счисления, а затем проинвертировать все разряды: |-41|=41= 1010012=001010012 (получен 8-ми битный код модуля числа) Проинвертировав все цифры, получим: 11010110. Таким образом, -41=11010110ОК.
Ответы к самостоятельной работе. Задание 1.
Задание 2.
Задание 3.
Не нашли, что искали? Воспользуйтесь поиском:
|