On 11 Apr 2007 07:13:40 -0700, Knowledge Seeker <[EMAIL PROTECTED]> wrote: > > sizeof int is platform dependent and varies from platform to platform. > while sizeof long is always 32-bit
Erm no. An int must, implicitly, be at least 16 bits and a long must be at least 32 bits. In addition a long must be at least as long(!) as an int (i.e. an int may be shorter, but cannot be longer, than a long.) It would be quite valid for both to be 36 bits long on a platform. To the OP, this means that a signed int must hold any number from -32767 to 32767 (unsigned should hold 0-65535,) but may extend these limits. A signed long must hold a number from -2147483647 to 2147483647 (unsigned should hold 0-4294967295; but again, on a platform it may extend this.) If the data you're handling will fit in the +/-32767 | 0-65535 range, use an int, otherwise use a long. That is the only criteria you need concern yourself with when choosing which to use. A platform is not specifically an OS, it is the 'host' environment. A > 32-bit OS, with an old C compiler may carry int to be of size 16. > > Now you can figure out what to use where. > > > Depends on the scenario where to use what ... if you need yashpal_ait21 > wrote: > > Hi C-programmers, > > Can you please clarify this doubt to me related with 'int' > > and 'long' data type in C++? When should a programmer use 'int' and > > when should he use 'long'? What is the need of datatype 'long', > > when 'int' & 'long' are both 32-bit quantities on a 32-bit OS ? > > > > Regards, > > Yashpal > > > > > > > > > > To unsubscribe, send a blank message to <mailto: > [EMAIL PROTECTED]>. > Yahoo! Groups Links > > > > -- PJH Aio, quantitas magna frumentorum est [Non-text portions of this message have been removed]
