Разница между int и подписанной декларацией int

Я читаю несколько руководств по встроенному программированию, и один из них говорит, что int и signed int разные, но не объясняют, как и почему.

Я понимаю, почему unsigned int и int отличаются друг от друга, но int и signed int являются разными для меня.

Ответ 1

Это только по историческим причинам. Сегодня, когда вы объявляете int, вы получаете signed int. Единственный момент, когда вы можете увидеть разницу даже с сегодняшними компиляторами, - это char versus signed char, которые отличаются спецификацией (и заметны при назначении литерала), но не с int.

Ответ 2

Насколько я знаю, разница существует только для типа данных char. Где char a; может быть signed char a; или unsigned char a; в зависимости от параметров компилятора. Как говорится в в этой статье. (--signed_chars) Для типов данных int нет разницы между int и signed int.