2014 dxdy logo

Научный форум dxdy

Математика, Физика, Computer Science, Machine Learning, LaTeX, Механика и Техника, Химия,
Биология и Медицина, Экономика и Финансовая Математика, Гуманитарные науки




Начать новую тему Ответить на тему
 
 Сумма двух отрицательных чисел плавающей точкой двоичный код
Сообщение26.10.2009, 22:22 


26/10/09
17
Помогите пожалуйста с переводом намучался думал думал не сходится - да и в книжке написано мудрено и длинно а в конце маленький пример сжатый. А препод тоже быстро обяснил говорит конспект перечитайте, а его ни у кого нет. Мы заочники. Непонятно.
Хвост наносу диплом надо сдавать.
Парень, который сделал но его давно отчислили я просто его нашел прислал, но у него в том что он прислал - второе задание в дополнительный код не переведено, а почему-то только в инверсном.
Задание
8.Выполнить операции так, как это происходит в машинах с плавающей точкой
А1/32 – А2/128 в обратном коде
-А3/256 – А4/512 в дополнительном коде.

Вот как я пробовал.

Код:
Второе задание ( - А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

Не совпадает - совпадает все кроме последних цифр - который день бьюсь

 Профиль  
                  
 
 Re: Сумма двух отрицательных чисел плавающей точкой двоичный код
Сообщение27.10.2009, 03:43 
Заслуженный участник


09/08/09
3438
С.Петербург
Честно говоря, не очень понятно, что за "ОНО" у Вас добавилось.
В результате сложения A3 и A4 в дополнительном коде у Вас получилась сумма
Код:
[1]1,0001.1011.0101 (3)
эту сумму надо сначала преобразовать в прямой код и только после этого нормализовать (иначе, та единичка, которую надо вычесть для получения инвесного кода из дополнительного, окажется совсем не на месте):
Код:
в доп. коде           : [1]1,0001.1011.0101 (3)
в инверсном коде      : [1]1,0001.1011.0100 (3)
в прямом коде         :   -0,1110.0100.1011 (3)
в нормализованном виде: -111,0010.0101.1000 (0)
получаем ровно то, что у Вас в "Итак проверим:"
Код:
Итак проверим:
-223/256 - 3213/512 = (-446-3212)/512=-3659/512=[b]-111,001001011[/b]

Или я что-то не так понял?

 Профиль  
                  
 
 Re: Сумма двух отрицательных чисел плавающей точкой двоичный код
Сообщение27.10.2009, 09:36 


26/10/09
17
Вы гений, спасибо огроменное - вы подтолкнули меня на один шажок в понимании этого всего
Я еще не был так рад за реальную помощь на форуме. Вопрос закрыт.

ПС: Вы б просто видели как на wasm.ru меня не поняли (а я тем более)

 Профиль  
                  
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 3 ] 

Модераторы: Karan, Toucan, PAV, maxal, Супермодераторы



Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group