[Comm] value overflow on C

Andrey Rybak =?iso-8859-1?q?ra_=CE=C1_iop=2Ekiev=2Eua?=
Ср Фев 22 15:51:18 MSK 2006


> ИМХО глобально решить проблему можно только если использовать другие языки.
> В случае целочисленных выражений проблему можно сгладить, просто взяв int
> тип пошире (например, long long).
>
>   
В том то и дело, что взять тип пошире - не кошерно в моем случае.
Расчеты величин проходят в их (величин) зонах сингулярности, где область 
значений резко увеличивается  даже при малых изменениях аргумента. В 
тоже время увеличив ширину типа, я увеличу и так большое время счета. 
Поэтому мне надо просто детектировать, что я подошел к предельным 
величинам. Просто условными оператороми (if например) эта задача 
решается неудовлетворительно.
А вопрос у меня возник, потому что помнится мне, что в ассемблере есть 
флажок переполнения байта величины (при инкременте например), поэтому 
думается мне, что при близости Си к низкоуровнему программированию, 
такая фича (определение превышения допустимой величины) должна быть. 
Именно поэтому я привел пример с ERANGE.

Есть еще идеи?



Подробная информация о списке рассылки community