Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Зачем два кода, обратный и дополнительный 
:(
    Опции темы
VitalikOmsk
Дата 25.10.2005, 09:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 133
Регистрация: 13.10.2005

Репутация: нет
Всего: нет



А теперь внимание вопрос: зачем необходимо два кода обратный и дополнительный если их функции одинаковы.
И если можно пример.
PM MAIL   Вверх
oleg1973
Дата 26.10.2005, 18:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


asm fanat
****


Профиль
Группа: Экс. модератор
Сообщений: 3283
Регистрация: 16.7.2003
Где: Italy

Репутация: 7
Всего: 34



чтото я вопроса не понял )


--------------------
SST 465555
icq 200-512-712
PM MAIL WWW ICQ   Вверх
S.A.P.
Дата 26.10.2005, 18:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник Клуба
Сообщений: 2664
Регистрация: 11.6.2004

Репутация: нет
Всего: 71



VitalikOmsk дополнительный для флоатов, обратный для целых отрицательных. Где же у них функции одинаковые?
PM MAIL   Вверх
VitalikOmsk
Дата 27.10.2005, 10:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 133
Регистрация: 13.10.2005

Репутация: нет
Всего: нет



Это мой препод говорит что у них функции одинаковые
PM MAIL   Вверх
Janus
Дата 16.11.2005, 19:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 186
Регистрация: 26.9.2005

Репутация: нет
Всего: 1



На самом деле, хоть и функции их действительно одинаковы - для сложения отрицательных чисел, выбор кода существенно влияет на конфигурацию АЛУ.

Вот например, сложим числа (первый разряд - знак):

Код

0 011001 = 25
1 010001 = - 17

обратный код:

 0 011001
 1 101110
 - ------
10 000111
|       ^
|  (+)  | - получили циклический перенос, т.е.
+-------+   нужно выполнять сложение еще раз!

0 000111
0 000001
- ------
0 001000 = 8

Дополнительный код:

 0 011001
 1 101111
 - ------
10 001000
^
|
+- этот разряд просто выбрасываем!

Таким образом, при использовании обратного кода, сложение выполняется дольше, чем при использовании дополнительного.

Однако, все дело в том, что использование дополнительного кода усложняет устройство управления и АЛУ. Получение дополнительного кода само по себе осуществляется путем сложения, тогда как получение обратного кода лугко организовать - дополнительного оборудования не нужно вообще.
--------------------
Проект "Репликатор" 
PM MAIL   Вверх
Akina
Дата 16.11.2005, 21:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Советчик
****


Профиль
Группа: Модератор
Сообщений: 20581
Регистрация: 8.4.2004
Где: Зеленоград

Репутация: нет
Всего: 454



Цитата(VitalikOmsk @ 27.10.2005, 11:31)
Это мой препод говорит что у них функции одинаковые

Это назначение функциональное у них одинаково.


--------------------
 О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума.

PM MAIL WWW ICQ Jabber   Вверх
Janus
Дата 18.11.2005, 19:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 186
Регистрация: 26.9.2005

Репутация: нет
Всего: 1



Кстати, в АЛУ компьютера все операции выполняются только над числами с фиксированной запятой. Другое дело, что числа с плавающей запятой предварительно приводятся к таковым.

В компьютере используется только один код - или обратный, или дополнительный - иметь два разных АЛУ было бы слишком расточительно.
--------------------
Проект "Репликатор" 
PM MAIL   Вверх
VitalikOmsk
Дата 2.12.2005, 14:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 133
Регистрация: 13.10.2005

Репутация: нет
Всего: нет



Мысли понял попробую втереть это все в препода спасибо.
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Asm: Общие вопросы"
MAKCim
  • Проставьте несколько ключевых слов темы, чтобы её можно было легче найти.
  • Не забывайте пользоваться кнопкой КОД.
  • Телепатов на форуме нет! Задавайте чёткий, конкретный и полный вопрос. Указывайте полностью ошибки компилятора и компоновщика.
  • Новое сообщение должно иметь прямое отношение к разделу форума. Флуд, флейм, оффтопик запрещены.
  • Категорически запрещается обсуждение вареза, "кряков", взлома программ и т.д.

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, MAKCim.

 
 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Asm: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0640 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.