Форум
» Назад на решение задач по физике и термеху
Регистрация | Профиль | Войти | Забытый пароль | Присутствующие | Справка | Поиск

» Добро пожаловать, Гость: Войти | Регистрация
    Форум
    Информационные технологии
        Выполнение операций в двоично-десятичном коде
Отметить все сообщения как прочитанные   [ Помощь ]
» Добро пожаловать на форум "Информационные технологии" «

Переход к теме
<< Назад Вперед >>
Несколько страниц [ 1 2 ]
Модераторы: paradise, KMA
  

Tarja



Новичок

Есть задание: надо перевести заданные числа в двоично-десятичный код, потом сформировать для них прямой и дополнительный коды, а потом найти значения С1, С2, С3, С4, определяемые выражениями:
С1 = А+В
С2 = А-В,
С3 = В-А,
С4 = -А-В.

Расскажите пожалуйста, как производить сложение и вычитание в дополнительном двоично-десятичном коде .

У меня есть:
[A]пк = 0. 0100 0101 0101 0110;
[A]дк = 0. 0100 0101 0101 0110;
[B ]пк = 1. 0110 1001 1001;
[B ]дк = 1. 0011 0000 0000.

Основная проблема у меня, конечно же, в том, что вычисления должны производиться не в двоичной системе считления, а в двоично-десятичной, а там, воообще-то, отличается.

Вот. Расскажите, пожалуйста,  как справиться с этим заданием.
Заранее благодарна за помощь.


(Сообщение отредактировал Tarja 16 янв. 2009 2:40)

Всего сообщений: 17 | Присоединился: январь 2009 | Отправлено: 16 янв. 2009 2:39 | IP
Tarja



Новичок

Помогите пожалуйста мне с этим примером...
Вообще нет никаких вариантов, и совсем не знаю как делать.

Помогите и объясните, пожалуйста...

Всего сообщений: 17 | Присоединился: январь 2009 | Отправлено: 16 янв. 2009 23:13 | IP
Old


Долгожитель

Tarja, мне непонятны условия Вашей задачи, что такое [A]пк и др. Уточните.

Всего сообщений: 285 | Присоединился: ноябрь 2006 | Отправлено: 17 янв. 2009 13:48 | IP
Tarja



Новичок

С этим вопросом вроде бы разобралась, Old, хотя и не смогли помочь, всё равно спасибо, что откликнулись

(Сообщение отредактировал Tarja 18 янв. 2009 16:34)

Всего сообщений: 17 | Присоединился: январь 2009 | Отправлено: 17 янв. 2009 17:03 | IP
KatenaN


Новичок

я сначала нашла [-A]дк и [-В]дк. а затем складывала соответсвующие числа.
а по поводу правил сложение.
Пример
Найти сумму двух десятичных чисел с использованием двоично-десятичной системы счисления:
A = D + C,  где
D= 3927;
C= 4856.
Решение
Составляем двоично-десятичную запись для чисел D и C:
D =3927 = 0011 1001 0010 0111:
C = 4856 =0100 1000 0101 0110.
Найти  значение А можно, реализовав следующую последовательность операций из двоичного сложения и операции коррекции:
                               *                 **
                 0011 1001 0010 0111 - D
            +  0100 1000 0101 0110 - C
                1000  0001 0111 1101  -  двоичная сумма
              +           0110           0110  -  коррекция
                1000 0111 1000   0011   - двоично-десятичная сумма                              
Для получения двоично-десятичной суммы A  на основании результата сложения операндов по правилам двоичной арифметики необходимо добавить шестерку (0110) в те тетрады, из которых был перенос. В данном примере это вторая тетрада (отмечена *). Необходимость такой коррекции обусловливается тем, что перенос, сформированный по правилам двоичного суммирования, унес из тетрады шестнадцать, а для десятичного сложения перенос должен был унести десять, т.е. перенос, сформированный по правилам двоичной арифметики, унес лишнюю шестерку. Кроме этого шестерка добавляется в те тетрады, в которых получено значение,
большее девяти.
Такая коррекция обуславливается тем, что по правилам десятичной арифметики  в таких тетрадах должен быть выработан перенос и, чтобы его выработать по правилам двоичной арифметики, в тетраду нужно добавить шестерку. Для рассмотренного такой тетрадой является  и четвертая тетрада (отмечена **).

это из лекции

Всего сообщений: 4 | Присоединился: январь 2009 | Отправлено: 24 янв. 2009 23:17 | IP
KatenaN


Новичок

только вот точно не знаю как быть с цифрами перед точкой. вроде если слаживать, должно получаться. хотя у мну вот возника загвоздка с ними

Всего сообщений: 4 | Присоединился: январь 2009 | Отправлено: 24 янв. 2009 23:42 | IP
KatenaN


Новичок

помогите плиз. сложение -99 и 6078 в дополнительном коде.
  1. 1001 1001 0000 0001
  0. 0110 0000 0111 1000
  1. 1111 1001 0111 1001
вроде все сошлось, кроме первой цифры и 1 перед точкой

Всего сообщений: 4 | Присоединился: январь 2009 | Отправлено: 25 янв. 2009 0:46 | IP
Tarja



Новичок

KatenaN, не сходится, потому что в первой тетраде у тебя получилось число большее 9, а это противоречит правилам двоично-десятичной арифметики (надо постоянно следить за переполнением, в каждой тетраде должно стоять число не большее 9). Если такое переполнение у тебя возникает -- надо от значения полученной тетрады отнять 1010(в 2-чной СС) = 10(в 10-чной СС), то есть:
1111
-
1010
====
0101, то есть 5 (10 СС).
И единицу переносим в страший разряд -- то есть в знаковый.
Получаем положительный результат:
0. 0101 1001 0111 1001
В переводе это равно 5979, что и должно было получиться

Всего сообщений: 17 | Присоединился: январь 2009 | Отправлено: 11 фев. 2009 21:26 | IP
ew6is



Новичок

Нужна помощь:
A=6078, B=2829 найти С=-A-B
A[пк]=A[дк]=0.0110 0000 0111 1000
        -A[дк]=1.1001 1111 1000 1000

B[пк]=B[дк]=0.0010 1000 0010 1001
        -B[дк]=1.1101 0111 1101 0111

C=-A-B=-A+(-B)
  1.1001 1111 1000 1000
+ 1.1101 0111 1101 0111
---------------------------------
11.0111 0111 0101 1111

Какие необходимо делать корректировки, что бы получить результат?

Всего сообщений: 1 | Присоединился: май 2009 | Отправлено: 24 мая 2009 19:45 | IP
ArsBsuir


Новичок

Добрый день.

Я все с тем же, старым-добрым вопросом.  

Помогите, пожалуйста, понять:

Вычислить
С1 = А + В
С2 = А – В = A + (–B)
С3 = В – А = (–A) + B
С4 = –А – В = (–A) + (–B)

при выполнении, А и В необходимо представить в двоично-десятичной системе, сформировать для них прямые коды и, используя обратный код вычислить значения С1, С2, С3, С4. Результат представить в прямом коде.

А(dec) = – 3628
B(dec) = – 3390.

А(2-10) = – 0011 0110 0010 1000
В(2-10) = – 0011 0011 1001 0000

А(пк) = 1.0011 0110 0010 1000
А(ок) = 1.0110 0011 0111 0001
–А(пк) = 0.0011 0110 0010 1000
–А(ок) = 0.0011 0110 0010 1000
В(пк) = 1.0011 0011 1001 0000
В(ок) = 1.0110 0110 0000 1001
–В(пк) = 0.0011 0011 1001 0000
–В(ок) = 0.0011 0011 1001 0000

А вот дальше что-то запутался.
Помогите найти С1, С2, С3, С4 суммированием в обратном коде с представлением результата в прямом.


(Сообщение отредактировал ArsBsuir 22 сен. 2009 13:49)

Всего сообщений: 1 | Присоединился: сентябрь 2009 | Отправлено: 22 сен. 2009 14:47 | IP

Отправка ответа:
Имя пользователя   Вы зарегистрировались?
Пароль   Забыли пароль?
Сообщение

Использование HTML запрещено

Использование IkonCode разрешено

Смайлики разрешены

Опции отправки

Добавить подпись?
Получать ответы по e-mail?
Разрешить смайлики в этом сообщении?
Просмотреть сообщение перед отправкой? Да   Нет
 

Переход к теме
<< Назад Вперед >>
Несколько страниц [ 1 2 ]

Форум работает на скрипте © Ikonboard.com