Помогите пожалуйста с переводом намучался думал думал не сходится - да и в книжке написано мудрено и длинно а в конце маленький пример сжатый. А препод тоже быстро обяснил говорит конспект перечитайте, а его ни у кого нет. Мы заочники. Непонятно. Хвост наносу диплом надо сдавать. Парень, который сделал но его давно отчислили я просто его нашел прислал, но у него в том что он прислал - второе задание в дополнительный код не переведено, а почему-то только в инверсном. Задание 8.Выполнить операции так, как это происходит в машинах с плавающей точкой А1/32 – А2/128 в обратном коде -А3/256 – А4/512 в дополнительном коде. Вот как я пробовал. Код (Text): Второе задание ( - А3/256 – А4/512 в дополнительном коде): В десятичном: -223/256_____________ -3213/512 В двоичном: -0,1101111_____________ -110,010001101 Нормализация: -0,00011011111 +3______ -0,110010001101 +3 В прямом коде: [1]0,00011011111 +3____ [1]0,110010001101 +3 В дополнительном:[1]1,11100100001 +3____ [1]1,001101110011 +3 Сложение: [1]1,111001000010 +3 + [1]1,001101110011 +3 = [1]1,000110110101 +3 есть перенос 1 (тут я вспомнил препод сказал. что "1" добавляется в конец мантиссы) выходит [1]1,000110110101 +3 = [1]1000,1101101011 <ВОТ ОНО ДОБАВИЛОСЬ Итак проверим: -223/256 - 3213/512 = (-446-3212)/512=-3659/512=[b]-111,001001011[/b] [1]1000,1101101011 (инверсный) => -111,0010010100 Не совпадает - совпадает все кроме последних цифр - который день бьюсь
Судя по заданию, числитель у вас в шестнадцатеричной системе, а знаменатель почему-то в десятичной, хотя ни там, ни там спецификаторов не поставлено (h - hex - шестнадцатеричная система, d - dec - десятичная, b - bin - двоичная) ну допустим, что это так: 512=2^9 -0A3h/256d - 0A4h/512d= -163d/256d - 164d/512d= -(163d*2d +164d)/512d = -490d/512d= -111101010b*2^(-9)= - 0,111101010b переводим в нормализованный вид = -1,11101010b*2^(-1) теперь как бы это число выглядело бы в FPU 0BF750000h расписываю его по-битно 10111111011101010000000000000000b 10111111011101010000000000000000b|Знак числа 0=«+» 1=«-» 10111111011101010000000000000000b|Порядок 7Eh=-1 в смещенном коде -128+127=-1 10111111011101010000000000000000b|мантисса числа=(1),11101010000000000000000
A(1-3) номер по варианту .. все числа в десятичной.. ниже написано В десятичном: -223/256_____________ -3213/512
xcislav Можете написать задание нормально, слово в слово, да и может книжку вам самому лучше прочитьать? можно и пример из книжки привести - я не экстрасенс и чего от вас хочет преподаватель я не очень понимаю
-223/256 - 3213/512 =-223*2^(-8) – 3213*2^(-9) =-(223*2+3213)*2^(-9)=-3659*2^(-9)= ==-111001001011b*2^(-9)= 11111111111000110110101b*2^(-9) в дополнительном коде сложение: -223*2*2^(-9)= 11111111111111111111111001000010b*2^(-9)в дополнительном коде + -3213*2^(-9)= 11111111111111111111001101110011b*2^(-9)в дополнительном коде = 11111111111111111111000110110101b*2^(-9)что и требовалось доказать для всех вычислений использовался Windows-калькулятор
valterg Дело в том, что ТС так и не откликнулся. Попробуйте разобраться с заданием, где часть чисел (знаменатели) относятся собстенно к заданию, а часть (числители) обозначают номер варианта. Для чего превращать числа в инверсный код, а потом их складывать? Или имеется в виду в инверсный код переводить только результат? Числа в FPU это двойные слова, учетверенные слова, десять байтов или, как в паскале, представление вещественного числа в виде шести байтов? Или может быть имеется в виду FPU не от Intel/AMD? Преподаватель ТС в курсе, что в FPU числа представлены грубо как знак и модуль? (на самом деле знак, порядок, мантиса и скрытая/открытая целая часть)
да все уже решено на другом форуме... тут вообще не так спасибо тому челу, он просто исправил мою одну ошибку вопрос закрыт (был формулирован предельно ясно)