Date: 28 Jul 2003 09:55:53 +0200 Message-Id: From: Eli Zaretskii To: djgpp AT delorie DOT com In-reply-to: <3F24AA4B.589D3482@worldnet.att.net> (message from Paul Cousoulis on Mon, 28 Jul 2003 04:45:34 GMT) Subject: Re: integer overflow References: <3F246120 DOT 63C3753C AT worldnet DOT att DOT net> <3F24AA4B DOT 589D3482 AT worldnet DOT att DOT net> Reply-To: djgpp AT delorie DOT com Errors-To: nobody AT delorie DOT com X-Mailing-List: djgpp AT delorie DOT com X-Unsubscribes-To: listserv AT delorie DOT com Precedence: bulk > From: Paul Cousoulis > Newsgroups: comp.os.msdos.djgpp > Date: Mon, 28 Jul 2003 04:45:34 GMT > > 1LU ? I guess the LU means Long Unsigned. Yes. > Is that now part of standard C? It's part of standard C for a long time. > I would of guessed the preprocessor would have handled the math first > and the storage later. The math is done in the same data type as the constants/variables you use in the expression. "31" and "1" are constants whose type is `int', not `'long' or `unsigned long'. If you want non-default data types for your constants, you need to use suffixes such as the `U' and `L'.