Перейти к содержанию
    

Сумматор с флагом переполнения

result = condition ? '0 : (pipa + popa); // unsigned too

Действительно, при использовании оператора Condition, результат беззнаковый. Но это полностью соответствует правилу:

Если хотя бы один из операндов имеет беззнаковый тип (unsigned), результат будет беззнаковым, независимо от остальных операндов и типа операции.

Достаточно явно указать константе '0 ее знаковость, например, так 'sh0, и все станет на свои места.

Я использую Verilog-2001, там так задать константу ( '0 ) синтаксис не позволяет, приходится явно указывать формат представления, а указав его, сразу становится понятно, знаковый он или нет.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Вот что интересного получается. Сам по себе Dmitriyspb ни в статьях ни в какой либо иной деятельности не замечен. Но всегда считает, что все остальные все делают "не так" и "без его одобрения"...

И позволяет себе пренебрежительно высказываться о человеке, профессионального уровня которого он не знает... А это уже довольно плохо!

Дима, представьте что я бы о Вас высказался примерно так: "Дима, ну что Вы понимаете в написании статей, и лезете со своими высказываниями, Вам что делать нечего?"... Нравится Вам такой подход?

Поэтому Дима, умерьте свои высказывания. Совершенно не нужно обижать людей. Не нравятся Вам чьи-то статьи? Так это у приличных людей делается следующим образом. Пишется критика, дается опровержение. Ну, либо Вы можете просто обратиться к автору и помочь ему в тех местах, которые Вы могли бы сделать лучше...

Вот, привыкайте к деловому общению...

 

Прошу прощение. Дима будет терпимее.

 

:biggrin: Даже пообщаться не дают :cranky: :crying:

 

:wacko: Больше не буду. Думал, может кто с чувством юмора отнесется :biggrin:

 

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Действительно, при использовании оператора Condition, результат беззнаковый. Но это полностью соответствует правилу:

Если хотя бы один из операндов имеет беззнаковый тип (unsigned), результат будет беззнаковым, независимо от остальных операндов и типа операции.

Да, но приписку, с указанием того, что нужно рассматривать выражение в комплексе, даже если оно и оператором условия, я бы добавил. Это стандартная gotcha. Не все такие педанты в типах констант, как вы :)

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Да, но приписку, с указанием того, что нужно рассматривать выражение в комплексе, даже если оно и оператором условия, я бы добавил. Это стандартная gotcha. Не все такие педанты в типах констант, как вы :)

Спасибо. Внес соответствующую поправку в статью.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...