Ответ 1
Стандарт С++ 11 говорит о целых типах:
(§3.9.1/3) Для каждого стандартного целочисленного типа со знаком существует соответствующий (но другой) стандартный беззнаковый целочисленный тип: "unsigned char", "unsigned short int", "unsigned int", "unsigned long int" и "unsigned long long int", каждый из которых занимает один и тот же объем памяти и имеет те же требования к выравниванию (3.11), что и соответствующий тип целочисленного знака; то есть каждый тип целочисленного знака имеет то же представление объекта, что и его неподписанный целочисленный тип. Аналогично, для каждого из расширенных типов со знаком со знаком существует соответствующий расширенный целочисленный тип без знака с одинаковым количеством требований к хранилищу и выравниванию. [...]
Итак, ответ да.
Для C11 здесь есть соответствующее утверждение (это от N1570):
(§6.2.5/6). Для каждого из знаковых целочисленных типов существует соответствующая (но другая) неподписанная целочисленный тип (обозначенный ключевым словом unsigned), который использует такое же количество (включая информацию о знаке) и имеет те же требования к выравниванию [...]