Разница между 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
.