> >I personally find it offensive that most C compilers for the PIC (the only > >exception I know of is HiTech's) regard "int" as an 8-bit type and "long" as > >a 16-bit type. Both of these definitions are clearly contrary to the C stan- > > AAAAAA MMMMMMM EEEEEEE NNNNNN!!!!!! > > Andy > As someone else has already pointed out, the "C standard" does NOT define any particular sizes for ANY integral data types; they are platform-dependent. All the standard says is (from Section A4.2 in K&R Second Edition): "Besides the 'char' types, up to three sizes of integer, declared 'short int', 'int', and 'long int', are available. Plain 'int' objects have the natural size suggested by the host machine architecture; the other sizes are provided to meet special needs. Longer integers provide at least as much storage as shorter ones, but the implementation may make plain integers equivalent to either short integers, or long integers. The 'int' types all represent signed values unless specified otherwise." Terms in single quotes ('') are in bold type in the book. Thus, since the size of a PIC's registers is 8 bits, this would be the "reasonable" size of an 'int', as dictated by the above K&R section. Short's and long's are then up to the compiler writer. Philip Restuccia philip.restuccia@peri.com