I Learned About 2\'s Complement and unsigned and signed int. So I Decided to test my knowledge , as far as i know that a negative number is stored in 2\'s
You could understand it better when you try to assign a negative value to a larger sized unsigned integer. Compiler generates the assembly code to do sign extension when transferring small size negative value to larger sized unsigned integer.
see this blog post for assembly level explanation.