Assuming C:
The size of char, int, and long afaik have no size guarantees, other than int being >= char and long being >= int.
The size of a float is probably even less safe to assume.
A word is 32 bits on a 32-bit machine, 64 on a 64, etc. right?
DWORD is some windows thing, isn't it? If you're on windows, you can assume it's a 32-bit pc. long is 32 bits, int 32, char 8. (right? too lazy to look) Never looked at what float is, but you can figure it out easily with sizeof.
Generally IMO it's bad practice to depend on things being certain sizes like this, at least to some extent. You can pretty safely assume chars are 8 bits, but you shouldn't assume that int is exactly 32 or float is exactly whatever.