Okay, Bytes and Bits were things I learned about when I was 12... but, now, I feel like I have to learn them all over again.

A byte, to me, is 8 bits... and one byte is usually one single character, like a "1" or "A". I know these are factual.

the INT type allocates 1-2 bytes I believe, it depends on the machine.

My first question is:

Why does allocated memory vary from different machines? For example, INT may reserve 1 byte on my machine, and reserve 2 on another.

My second question is:

For now, lets assume INT reserves 1 byte. If one byte is equal to 1 character, then why can variables declared by type INT store 5 digit numbers? That would be 5 bytes, correct? this isn't making much sense... I read that unsigned INT variables can hold up to 65,000, or somewhere along that.

My head hurts...