переполнение int

  • ХабрахабрФото Сужение данных. Продолжение борьбы с переполнением

    Сужение данных. Продолжение борьбы с переполнением

    Все началось с глупой ошибки. В тексте программы вместо оператора x=20; где x – целая переменная со знаком и размером в байт, случайно написали x=200; И компилятор, что называется не моргнув глазом, сформировал команду записи в переменную x константы 0C8H, что вообще-то соответствовало оператору x=-56; Выяснилось, что за долгие годы эксплуатации этого компилятора ни одна собака ни один пользователь (включая…

    Читать далее »
  • ХабрахабрФото [Перевод] Почему перенос при целочисленном переполнении — не очень хорошая идея

    [Перевод] Почему перенос при целочисленном переполнении — не очень хорошая идея

    Эта статья посвящена неопределённому поведению и оптимизациям компилятора, особенно в контексте знакового целочисленного переполнения. Существует математический термин "перенос", который близок к описываемому явлению, а термин "флаг переноса" (carry flag) — механизм выставления флага в процессорах при целочисленном переполнении. Примечание от переводчика: в русском языке нет четкого соответствия в употребляемом контексте слова «wrap»/«wrapping». Она лучше отображает смысл «wrap» по сравнению с…

    Читать далее »


Кнопка «Наверх»