>Жуткое решение предлагает автор, такое мог написать разве что школьник, только изучающий
> программирование.Полностью не согласен!! Пустые штампы без аргументов%)
> Если имеется вероятность переполнения, то куда правильней использовать более
>вместительный тип данных,
Да, "куда правильней"??
> например, если int - это 32 бита, то
>функция будет выглядеть так:
>
>int avg(int a, int b) { return ((int64)a + (int64)b) / 2;
>}
Я считаю просто лишние операции на преобразование и вычисление для x86 например.
Так а если у нас аргументы сами уже будут avg(long long int a, long long int b) что тогда?? ;))
К тому же с переносимостью тоже не всё ясно - С99??
На том же сайте обсуждается более эффективый алгоритм.
>Однако, на ассемблере можно сделать еще элегантнее с тем же самым типом
PS. В тему!! http://www.wasm.ru/article.php?article=onebyte