Недавно меня смутил этот вопрос . Возможно, потому что я не читал языковые спецификации (это моя вина, я знаю).
Стандарт C99 не указывает, какое представление отрицательных чисел должно использоваться компилятором. Я всегда думал, что единственный правильный способ хранить отрицательные числа - это дополнение к двум (в большинстве случаев).
Итак, вот мой вопрос: знаете ли вы какой-нибудь современный компилятор, который по умолчанию реализует представление дополнения или знака? Можем ли мы изменить представление по умолчанию с помощью некоторого флага компилятора?
Какой самый простой способ определить, какое представление используется?
А что насчет стандарта C ++?