LINUX.ORG.RU

История изменений

Исправление red75prim, (текущая версия) :

Это С++, там вроде как стандартизировали представление целых как two’s complement. C11 допускает представление в виде signed magnitude, ones’ complement, two’s complement. В общем, смотри proposal N2218: https://www.open-std.org/jtc1/sc22/wg14/www/docs/n2218.htm

То есть ответ на изначальный вопрос: нет, не гарантирует. Но платформ, где -1 != 0xFF .. FF, раз (Unisys’ ClearPath Dorado)… и обчёлся. Ну и может эмуляторы каких-нибудь древних систем.

Исправление red75prim, :

Это С++, там вроде как стандартизировали представление целых как two’s complement. C11 допускает представление в виде signed magnitude, ones’ complement, two’s complement. В общем, смотри proposal N2218: https://www.open-std.org/jtc1/sc22/wg14/www/docs/n2218.htm

То есть ответ на изначальный вопрос: нет, не гарантирует. Но платформ, где -1 != 0xFF .. FF, раз (Unisys’ ClearPath Dorado)… и обчёлся.

Исходная версия red75prim, :

Это С++, там вроде как стандартизировали представление целых как two’s complement. C11 допускает представление в виде signed magnitude, ones’ complement, two’s complement. В общем, смотри proposal N2218: https://www.open-std.org/jtc1/sc22/wg14/www/docs/n2218.htm