<html>
<head>
<style><!--
.hmmessage P
{
margin:0px;
padding:0px
}
body.hmmessage
{
font-size: 10pt;
font-family:Verdana
}
--></style>
</head>
<body class='hmmessage'>
 >  (To use Jay's expression, it's now 18 years later, and<BR>
 > many C environments still haven't caught up---int is still 32 bits in many of them!) <BR>
 <BR>
Int is 32 bits in almost every C environment.<BR>
  Maybe some Cray has 64bit int.<BR>
  But every system I've seen has 32 bit (or 16 bit) int.<BR>
Do any C environments lack a 64bit "long" or "long long" or "__int64"?<BR>
 <BR>
 <BR>
I believe gcc is written to not depend on any 64bit integer or "long long" being guaranteed available, so it can compile with a compiler that only has up to "long", be it 32bits or 64bits.<BR>
I believe they represent 64bit integers internally as a pair of longs and always take 32bits from each. It is a little confusing but also makes sense. On systems with 64bit long, which there are many of, they waste space. It'd seem better to use a pair of 32bits ints or one 64bit long or long long. But it is portable, even if int is 16 bits.<BR>
 <BR>
 <BR>
 - Jay<BR><BR>                                           </body>
</html>