Once upon a time, Adam Zabrocki <pi3ki31ny@wp.pl> said: > This is fine, assuming that we have 32 bits CPU, and sizeof(unsigned > long) equals 4. So 4*16=64. There is no guarantee that on some archs > unsigned long is going to stay 32 bit width. When it's either longer > or shorter (I am not sure if long can be 16 bits long, but possibly > ANSI C standart doesn't say anythin about it's length in bits). In ANSI C the basic types are not defined in terms of bits, however there is a minimum magnitude required. An unsigned long is supposed to hold at least 4294967295, which is 2^32-1. On most normal platforms, that means an unsigned long must be at least 32 bits. -- Chris Adams <cmadams@hiwaay.net> Systems and Network Administrator - HiWAAY Internet Services I don't speak for anybody but myself - that's enough trouble.