Здравствуйте, netch80, Вы писали:
N>Поэтому простейший вариант анализа на переполнение без поддержки аппаратуры выглядит примерно так:
N>N>int checked_add(int a, int b) {
N> int sum = a + b;
N> int ssd = a ^ b; // на самом деле нам нужен только старший бит
N> if ((ssd >= 0) && ((ssd ^ sum) < 0))
N> throw integer_overflow();
N> return sum;
N>}
N>
Не находишь, что
мой вариантАвтор: rg45
Дата: 10.04.12
проще и универсальнее? Универсальнее в том плане, что годится и для знаковых и для беззнаковых типов.
P.S. Предложил еще позавчера утром, никто и внимания не обратил, обидно