В большинстве современных реализаций целочисленное значение со знаком, которое имеет битовый шаблон 1 для знакового бита и все 0 для битов значения, имеет тенденцию представлять наименьшее возможное значение для этого целочисленного типа со знаком.
Однако, как указано в 6.2.6.2p2, это не является обязательным требованием:
Какой из них применяется, определяется реализацией, как и является ли значение со знаковым битом 1 и всеми нулевыми битами значения (для первых двух) или со знаковым битом и всеми битами значения 1 (для дополнения до единиц), является представлением ловушки или нормальное значение.
Мой первый вопрос прост: существуют ли какие-либо реализации, использующие этот битовый шаблон для представления отрицательного нуля или ловушки? Если ответ на этот вопрос «нет», то ответ на мои последующие вопросы также должен быть «нет».
Исходя из этого вопроса, в 6.2.6.2p3 говорится, что когда отрицательный нуль присваивается объекту, он может (или не может) быть преобразован в обычный ноль:
Не указано, действительно ли эти случаи генерируют отрицательный нуль или нормальный нуль, и становится ли отрицательный нуль нормальным нулем при сохранении в объекте.
Мои последующие вопросы:
- Существуют ли какие-либо реализации, которые используют представление ловушки, а не отрицательный ноль для этого битового шаблона?
- Существуют ли какие-либо реализации, использующие отрицательный нуль, который хранится как отдельное значение?
- Существуют ли какие-либо реализации, использующие отрицательный нуль, который хранится как обычный нуль?
изменить для уточнения: я НЕ спрашиваю о том, что теоретически возможно в системе, которая использует дополнение до единицы, дополнение до двух или представление знака и величины для целых чисел со знаком. Я могу найти (и нашел) эту информацию в разделах, которые я цитировал ранее в этом вопросе. Я спрашиваю о том, что на самом деле было сделано.