19.04.2013, 07:30 | #1 (permalink) |
Новичок
Регистрация: 19.04.2013
Сообщений: 3
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
|
Помогите решить задачи по информатике
Число 0,553 Формат вещественного числа - Одинарный Число 55 Формат целого числа в байтах - 1 Должны быть описаны и пояснены все необходимые преобразования. Результат должен быть представлен в разрядной сетке в соответствии с форматом числа. 2)Выполнить арифметические операции над двоичными числами с плавающей точкой в дополнительном коде: С=А+В. В таблице ниже приведены десятичные значения чисел А и В. С данными числами провести необходимые действия с пошаговой детализацией всех этапов. Вычисления и перевод чисел произвести с точностью до 5 знака после запятой. A=-0,567, B=3,600. Все выполненные действия должны быть детализированы и подробно описаны. |
19.04.2013, 07:30 | |
Helpmaster
Member
Регистрация: 08.03.2016
Сообщений: 0
|
Это схожие темы, в них вы можете поискать информативные ответы Помогите решить задачи на C++ Помогите, пожалуйста, решить задачи по информатике Помогите решить задачи |
19.04.2013, 08:56 | #4 (permalink) |
Новичок
Регистрация: 19.04.2013
Сообщений: 3
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
|
ну вот допустим подобные задачи
Выполнить арифметические операции над двоичными числами с плавающей точкой в дополнительном коде: С=А+В. В таблице ниже приведены десятичные значения чисел А и В. С данными числами провести необходимые действия с пошаговой детализацией всех этапов. Вычисления и перевод чисел произвести с точностью до 5 знака после запятой. Для второго варианта значения равны: A = 0,385 B = -2,45 Решение: Преобразуем A: 0,385 * 2 = 0,77 => 0,0 0,77 * 2 = 1,54 => 0,01 0,54 * 2 = 1,08 => 0,011 0,08 * 2 = 0,16 => 0,0110 0,16 * 2 = 0,32 => 0,01100 итого А = 0,01100 = 0:11^1:1 Преобразуем B: целая часть -10 дробная часть 0,45 * 2 = 0,9 => 0,0 0,9 * 2 = 1,8 => 0,01 0,8 * 2 = 1,6 => 0,011 0,6 * 2 = 1,2 => 0,0111 0,2 * 2 = 0,4 => 0,01110 итого B = -10,01110 = 1:1001110^0:10 Мантисса B = 1:0,1001110 обратный код 1:0,0110001 дополнительный код 1:0,0110010 Разность порядков: d = 1:01 - 0:10 = 1:01 + 1:10 = (1:10 + 1:01)ок = (1:11 + 1:10)дк = 1:01 обратный код = 1:10 прямой код = 1:11 Порядок итога будет равен наибольшему значению порядка Сумма C 0:000110 +1:011001 =1:011111 обратный код 1: 100000^0:10 прямой код 1:100001^0:10 итого 10,0001 Преобразуем к десятичному виду: целая часть равна -2 дробная часть: 0,000010 = 0/2+0/4+0/8+1/16 = 0,0625 итого: -2,0625 Представить в памяти ЭВМ числа. Для представления целых чисел при выборе формата учитывать знак числа. Для второго варианта 65,65 (двойной) и -56 (2 байта) Решение: Целая часть А = 1000001 (вычисляется так: 2 в 6 степени есть 64, тут на единицу больше) дробная часть 0,65 * 2 = 1,3 => 0,1 0,3 * 2 = 0,6 => 0,10 0,6 * 2 = 1,2 => 0,101 ... 0,101000001 A = 1000001,101000001 = 0,1000001101000001*2111 Восьмой байт со знаками в старших битах 63 62 61 60 59 58 57 56 1 1 0 0 0 0 0 0 Порядок числа 49 48 47 46 45 44 43 42 0 0 1 1 1 0 0 0 Мантисса числа 41 40 39 38 37 36 35 34 33 32 31 30 29 28 0 0 1 1 0 1 0 0 0 0 0 1 0 0 B = -56 = 1:00111000 ок 1:11000111 дк 1:11001000 Старший байт 15 14 13 12 11 10 9 8 1 1 1 0 0 0 0 0 Младший байт 7 6 5 4 3 2 1 0 1 1 1 0 1 0 0 0 |
Ads | |
Member
Регистрация: 31.10.2006
Сообщений: 40200
Записей в дневнике: 0
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 55070
|
|
|