К какому типу относится переменная «unsigned any_variable»?какой у него размер? - PullRequest
2 голосов
/ 14 февраля 2011

Это эквивалентно целому числу без знака?
Я могу использовать unsigned unknown_type_var = 3332934; и распечатать его успешно. Это значение больше, чем целочисленная переменная, верно?

Ответы [ 3 ]

3 голосов
/ 14 февраля 2011

unsigned полностью эквивалентно unsigned int, точно так же, как long эквивалентно long int и т. Д.

2 голосов
/ 14 февраля 2011

Это так же, как unsigned int. По умолчанию типом является int.

Максимальное значение для unsigned int равно 4294967295. Эти ограничения определены в заголовочном файле LIMITS.H. См. http://msdn.microsoft.com/en-us/library/7fh3a000.aspx.

0 голосов
/ 14 февраля 2011

unsigned просто означает, что он не использует первый бит в качестве знака (положительный, отрицательный), поэтому он всегда положительный и имеет в два раза больше емкости со знаком any_variable.

Этот вопрос о стековом потоке должен помочь объяснитьГлубина со знаком и без знака: Что в стандарте C ++ указывает размер типа int, long?

Большинство реализаций C используют 4 байта для целых чисел, так что это диапазон между ~ -От 2 билл до ~ 2 бил или от 0 до 4 бил для беззнаковых целочисленных значений, поэтому ваша переменная находится в диапазоне интергера.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...