Страница 1 из 1

проверка возможного переполнения

Добавлено: 31 авг 2005, 16:15
versus
Странно, не смог найти подходящий топик в поиске... Может быть плохо искал?
Мне интересно как можно было бы реализовать subj при арифметических операциях? Наверняка кто-нибудь из здесь присутсвующих сталкивался с такой задачей...

Добавлено: 31 авг 2005, 17:10
Kolinus
а в чем проблема ??
в МСДН есть максимально возможные значения
в VC6 есть константы не уверен что для всех типов но для части есть ну и мона в принципе прикинуть

Добавлено: 31 авг 2005, 17:21
Kolinus
как вариант след алгоритм - чисто с ходу поэтому можно придумать лучше
делаешь с этой максимальной константой обратное действие и сравниваешь со следующим участником операции
то есть
для байт
MAXBYTE=128;
a = 100
b =29
c=0
d=MAXBYTE-a
d<b -> a+b == overflow

Добавлено: 31 авг 2005, 23:05
versus
да, наверное это решение...
Kolinus писал(а):в МСДН есть максимально возможные значения
в VC6 есть константы не уверен что для всех типов но для части есть ну и мона в принципе прикинуть
Думаю, в этом случае лучше пользоваться стандартным

std::numeric_limits<T>::max()

из

<limits>