Does the C++ standard requires signed integers to have exactly one sign bit?
Consider the fundamental signed integer types of C++, namely: signed char , short int , int , long int and long long int , what does the current C++ standard require about their underlying bit representation? Does the constraints on their bit representation specify that they should include: optional padding bits mandatory value bits a mandatory sign bit that is 0 for positive values, and 1 for negative value if it exists, the sign bit should be the most significant bit Is this true? If not, then what are the constaints? I am searching for quotes from the standard that proves or disproves this.