Возможный дубликат:
Перефразировать: список платформ, поддерживаемых стандартом C
Стандарт C очень слабо определен: - он охватывает два дополнения, их дополнение, значащую величину - целые числа могут быть различной ширины, с битами заполнения - определенные битовые шаблоны могут не представлять допустимые значения.
Существует очевидный недостаток: сделать переносимый код сложнее писать. Кто-нибудь знает о платформах, для которых есть все еще активные разработки, но которые
- не 2 дополнения или
- Целочисленная ширина не 32 бита или 64 бита, либо
- некоторые целочисленные типы имеют биты заполнения или
- если вы работали на машине с двумя дополнительными устройствами, битовая диаграмма со знаком бит 1, и все биты значений ноль не являются допустимым отрицательным числом или
- целочисленное преобразование из подписанного в unsigned (и наоборот) не осуществляется через стенографию копирование битовых шаблонов или
- правое смещение целого не является арифметическим сдвигом или
- количество битов значения в неподписанном типе не является числом битов значения в соответствующем подписанном типе + 1 или
- преобразование из более широкого типа int в меньший тип не выполняется усечение левых самых битов, которые не подходят