Ответ 1
Да, они гарантированы. В С++ 11 см. Раздел 7.3.1.2.2 [dcl.type.simple]/table 10, в котором перечислены все простые спецификаторы типов (и их комбинации) и что они означают. Например, таблица включает в себя следующее:
unsigned => unsigned int
unsigned int => unsigned int
signed => int
signed int => int
int => int
C11 имеет аналогичное отображение в §6.7.2/2 (оно форматируется по-разному, но в остальном оно указывает те же группы эквивалентных комбинаций, по крайней мере, для всех типов, общих для C и С++).