Some background:
- Prior to C++20, the C++ Standard allowed any signed integer representation, and the minimum guaranteed range of N-bit signed integers was from
-(2^(N-1) - 1)to+2^(N-1) - 1. - C++20 standard proposal (as mentioned by @Sneftel) allowed the only representation with the guaranteed range from
-2^(N-1)to+2^(N-1) - 1. - As far as I understand the range of values min-max must be continuous.
I've tried to find any quotes for the maximum range of N-bit signed integer but found none.
So I wonder (in terms of C++):
- Is it right to assume that maximum possible range of N-bit signed integer is limited from
-2^(N-1)to+2^(N-1)? Could it be wider? - Could it be affected by underlying platform bit implementation - like "3-state-bit" or something like that?