Суммирование основанное на Битовых операциях

Тема в разделе "LANGS.C", создана пользователем blood_raven, 9 окт 2008.

  1. blood_raven

    blood_raven New Member

    Публикаций:
    0
    Регистрация:
    10 апр 2007
    Сообщения:
    55
    Все привет. Возможно заголовок темы звучит совсем непонятно, но попробую пояснить.
    Вообщем надо реализовать сложение(умножение,вычитание,деление) двух чисел используя только лог.операции над битами. для начало хочу разобраться со сложением. Впринципе есть идея по поводу умножения - реализовать подобия сложения "столбиком". ну больше всего волнует то, возможно ли это сделать без циклов(сложение)? а вообще никто не может подсказть какиенито примерчики на которых можно набить руку и ресурсы на которых можно почиать о подобной тематике?) буду очень благодарен)
     
  2. s0larian

    s0larian New Member

    Публикаций:
    0
    Регистрация:
    15 июл 2004
    Сообщения:
    489
    Адрес:
    Крыжёпполь
    Сложение по битам будет как в столбик, только ты складываешь по одному бин. разряду а не дес., а так то же самое. Циклом, с первого бита вверх.
     
  3. Y_Mur

    Y_Mur Active Member

    Публикаций:
    0
    Регистрация:
    6 сен 2006
    Сообщения:
    2.494
    blood_raven
    Атмеловское умножение деление через сложение, вычитание, сдвиги
    синтаксис ихнего асма.

    ЗЫ: делать такое на сях? :))
     
  4. letopisec

    letopisec New Member

    Публикаций:
    0
    Регистрация:
    8 авг 2004
    Сообщения:
    228
    про сложение )
    http://wasm.ru/forum/viewtopic.php?id=27245

    вот и эта тема (хотя кто-то и говорил кусок гуан*) пригодилась)
     
  5. blood_raven

    blood_raven New Member

    Публикаций:
    0
    Регистрация:
    10 апр 2007
    Сообщения:
    55
    значит без цикла все же нельзя?)

    аммм как я понял сумматор есть, а вот умножения,и нескольких других - нет.
    в любом случаи спасибо)
     
  6. inviZ

    inviZ Сергей

    Публикаций:
    0
    Регистрация:
    11 сен 2006
    Сообщения:
    92
    Адрес:
    Хабаровск
    blood_raven
    Ну в принципе-то можно и без цикла. Почитай тут про сумматоры с параллельным переносом, например:
    http://www.bashedu.ru/wsap/posobie/chapter2/8.htm

    Только если разрядность большая, слишком монструозные лог. выражения получатся. =) Поэтому смысла особого не вижу.
     
  7. _basmp_

    _basmp_ New Member

    Публикаций:
    0
    Регистрация:
    10 июл 2005
    Сообщения:
    2.939
    http://fpga-guru.com/toc.htm
     
  8. blood_raven

    blood_raven New Member

    Публикаций:
    0
    Регистрация:
    10 апр 2007
    Сообщения:
    55
    всем спасибо, основную проблему решил...осталось только делени)
     
  9. _basmp_

    _basmp_ New Member

    Публикаций:
    0
    Регистрация:
    10 июл 2005
    Сообщения:
    2.939
    blood_raven
    умножение через сдвиг и сложение,
    деление через сдвиг и вычитание
     
  10. slavanap

    slavanap Вячеслав

    Публикаций:
    0
    Регистрация:
    10 сен 2008
    Сообщения:
    300
    Адрес:
    Смоленск, Россия
    _basmp_
    А это разве самый оптимальный (оптимизированный) вариант?
     
  11. _basmp_

    _basmp_ New Member

    Публикаций:
    0
    Регистрация:
    10 июл 2005
    Сообщения:
    2.939
    slavanap
    нет, конечно, это самый простой и тупой. Если делать в железе, понадобится 2 регистра и все сделается за один такт (куча логики само собой). Впрочем я ничего не утверждаю. Мне и самому интересно.