From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Message-ID: <43FC4A2E.5030302@iop.kiev.ua> Date: Wed, 22 Feb 2006 13:25:34 +0200 From: Andrey Rybak User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.8.0.1) Gecko/20060130 SeaMonkey/1.0 MIME-Version: 1.0 To: =?KOI8-R?Q?=F3=D0=C9=D3=CF=CB_=D2=C1=D3=D3=D9=CC=CB=C9_=D0=CF_=C9?= =?KOI8-R?Q?=D3=D0=CF=CC=D8=DA=CF=D7=C1=CE=C9=C0_=C4=C9=D3=D4=D2=C9=C2=D5?= =?KOI8-R?Q?=D4=C9=D7=CF=D7_ALT_Linux?= Content-Type: text/plain; charset=KOI8-R; format=flowed Content-Transfer-Encoding: 8bit X-Virus-Scanned: ClamAV 0.88/1297/Tue Feb 21 21:44:31 2006 on rmaile.iop.kiev.ua X-Virus-Status: Clean X-Spam-Status: No, score=-3.4 required=4.0 tests=ALL_TRUSTED,BAYES_00, CHARSET_FARAWAY,MIME_CHARSET_FARAWAY autolearn=ham version=3.1.0 X-Spam-Checker-Version: SpamAssassin 3.1.0 (2005-09-13) on rmaile.iop.kiev.ua Subject: [Comm] value overflow on C X-BeenThere: community@lists.altlinux.org X-Mailman-Version: 2.1.6 Precedence: list Reply-To: ALT Linux Community List-Id: ALT Linux Community List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 22 Feb 2006 11:24:58 -0000 Archived-At: List-Archive: List-Post: Привет коммунити! Вопрос по си. Есть необходимость определять, когда происходит превышение максимального значения стандартного типа при арифметических операциях. Типа такого: значение переменной errno становится равной ERANGE, если мат. функция (например pow() из math.h) имеет своим результатом значение больше, чем может быть представлено данным типом. Что-то подобное для операций сложения и умножения имеется? Эксперимент показал,что errno остается равным нулю при прибавлении единицы к максимальному int . И при выполнении прога никак не реагирует. Работает дальше, но с уже неверными величинами. Гугление и чтение Кернигана и Ричи не дали результата. Что посоветуете? Или ссылкой какой поделитесь. Немного ОТ, но прога то на альте :-)