LINUX.ORG.RU

История изменений

Исправление hateyoufeel, (текущая версия) :

А сишечку делали чтобы её можно было вкрячить на любые процессоры, в том числе те, где флага переноса нет, а есть, например, аппаратное прерывание при переполнении. Поэтому переполнение сделали UB, чтобы программисты не завязывались на наличие флагов у процессора.

В си только знаковое переполнения является неопределённым поведением. Беззнаковое вполне определено: UINT_MAX + 1 == 0.

Флаги переноса тут не причём. Знаковое переполнение будет себя вести по-разному на one’s complement и two’s complement платформах, поэтому в Си такая залупа. Другой вопрос, что one’s complement не осталось в принципе, это говно давно сдохло. Поэтому эта срань с UB в Си не имеет смысла и нужна только для страданий ради страданий.

Исправление hateyoufeel, :

А сишечку делали чтобы её можно было вкрячить на любые процессоры, в том числе те, где флага переноса нет, а есть, например, аппаратное прерывание при переполнении. Поэтому переполнение сделали UB, чтобы программисты не завязывались на наличие флагов у процессора.

В си только знаковое переполнения является неопределённым поведением. Беззнаковое вполне определено: UINT_MAX + 1 == 0.

Флаги переноса тут не причём. Знаковое переполнение будет себя вести по-разному на one’s complement и two’s complement платформах, поэтому в Си такая залупа. Другой вопрос, что one’s compliment не осталось в принципе, это говно давно сдохло. Поэтому эта срань с UB в Си не имеет смысла и нужна только для страданий ради страданий.

Исходная версия hateyoufeel, :

А сишечку делали чтобы её можно было вкрячить на любые процессоры, в том числе те, где флага переноса нет, а есть, например, аппаратное прерывание при переполнении. Поэтому переполнение сделали UB, чтобы программисты не завязывались на наличие флагов у процессора.

В си только знаковое переполнения является неопределённым поведением. Беззнаковое вполне определено: UINT_MAX + 1 == 0.

Флаги переноса тут не причём. Знаковое переполнение будет себя вести по-разному на one’s compliment и two’s compliment платформах, поэтому в Си такая залупа. Другой вопрос, что one’s compliment не осталось в принципе, это говно давно сдохло. Поэтому эта срань с UB в Си не имеет смысла и нужна только для страданий ради страданий.