Новый стандарт С++ по-прежнему отказывается указывать двоичное представление целочисленных типов. Это потому, что существуют реализационные реалии С++, которые не используют 2 арифметики дополнения? Я считаю, что трудно поверить. Это потому, что комитет опасался, что будущие успехи в аппаратных средствах сделают понятие "бит" устаревшим? Снова трудно поверить. Может ли кто-нибудь пролить свет на это?
Фон: Я был удивлен дважды в одной ветке комментариев (Бенджамин Линдли ответил на этот вопрос). Во-первых, из комментария piotr:
Справа сдвига по типу подписанного типа undefined поведение
Во-вторых, от комментария Джеймса Канзе:
при назначении длинному, если значение не соответствует длине, результаты реализация определена
Мне пришлось посмотреть их в стандарте, прежде чем я им поверила. Единственной причиной для них является размещение целочисленных представлений, отличных от 2'-дополнений. Почему?