@kdean said:Damn, you're right about the byte size.  Replace 8 with CHAR_BITS.That's an even better WTF! The size of long depends on the architecture you are using, whereas the size of char depends on the character set of the application. Imagine a unicode (16 bit) aware application on a 32 bit architecture and you'll see what I mean ...