Страница 1 из 1

Двоичная арифметика

Добавлено: Чт окт 09, 2008 19:19:31
Pleomax
Мож не много не сюда пишу, но вдруг повезет.

Собственно интересует, результат сложения двух двоичных числел с помощью АЛУ при отсутсвии переноса.

Собственно имеется X+Y; X = 1011; Y = 1101; Вход переноса С0 = 1(Перенос отсутсвует)
АЛУ у меня естесвтенно нет и хотелось бы понять какой будет результат. Я насчитал чисто 0110, но есть еще С4 - выход переноса, что на нем должно быть я понять не могу.

Кто нибудь в этом разбирается?

Re: Двоичная арифметика

Добавлено: Чт окт 09, 2008 19:31:38
Света
Pleomax писал(а):... X+Y; X = 1011; Y = 1101;

1011 (11) + 1101 (13) = 11000 (24)

Добавлено: Чт окт 09, 2008 19:32:42
ARV
все просто, суммируем в столбик:

Код: Выделить всё

         1 0 1 1    = X
       +
         1 1 0 1    = Y
       +
               1    = вход переноса
       ----------
   [1]   1 0 0 1

так как АЛУ - 4-х разрядное, то единчка, которая слева в квадратных скобках - это выход переноса

вообще же калькулятор виндовый - отличное АЛУ :)))

Добавлено: Чт окт 09, 2008 20:46:01
Pleomax
Всё, я после того как написал сообразил =))
Я почему то думал, что отсутсвие переноса значит что типа отсутсвует перенос между сумматорами и поэтому разряд который нужно перенести будет утерян =))

Тогда хотелось бы спрсоить еще кое что. Как можно в машинном коде записать константу в регистр. Желательно что бы потом это можно было использовать в команде ADD (06 SS DD)

Добавлено: Сб окт 11, 2008 14:20:50
Aheir
Зависит от аппаратной платформы, которая будет использоваться

Добавлено: Сб окт 11, 2008 19:18:26
Пухич
Aheir писал(а):Зависит от аппаратной платформы, которая будет использоваться


Видимо еще и от компилятора/ассемблера, навряд ли автор будет прямо в машкодах писать.

Добавлено: Вс окт 12, 2008 14:44:39
Aheir
Ну, я так понял, что вопрос был именно про машинный код.. А что, я так программы писал, весьма забавно.. :)

Добавлено: Вт окт 14, 2008 06:52:57
mr.Kirill
ARV писал(а):все просто, суммируем в столбик:

Код: Выделить всё

         1 0 1 1    = X
       +
         1 1 0 1    = Y
       +
               1    = вход переноса
       ----------
   [1]   1 0 0 1

так как АЛУ - 4-х разрядное, то единчка, которая слева в квадратных скобках - это выход переноса

вообще же калькулятор виндовый - отличное АЛУ :)))

Странное дело, у Вас при сложении 1011 и 1101 результат [1]1001? а в "Винде" [1]1000... :)
Я не умею калькулятор использовать? :shock:

Добавлено: Вт окт 14, 2008 07:08:06
Света
mr.Kirill писал(а):Странное дело, у Вас при сложении 1011 и 1101 результат [1]1001? а в "Винде" [1]1000... :)
Я не умею калькулятор использовать? :shock:

Вы внимательно посмотрите, там еще единица прибавляется.
А в калькуляторе сначала в меню ВИД ставите ИНЖЕНЕРНЫЙ, а потом нажимаете кнопку BIN и считаете. :)

Добавлено: Вт окт 14, 2008 07:54:52
mr.Kirill
Света писал(а):
mr.Kirill писал(а):Странное дело, у Вас при сложении 1011 и 1101 результат [1]1001? а в "Винде" [1]1000... :)
Я не умею калькулятор использовать? :shock:

Вы внимательно посмотрите, там еще единица прибавляется.
А в калькуляторе сначала в меню ВИД ставите ИНЖЕНЕРНЫЙ, а потом нажимаете кнопку BIN и считаете. :)

Действительно, насчет переноса не учел 1...
PS. То была шутка насчет умений ;)