Неподписанное ключевое слово в C++

Действительно ли неподписанное ключевое слово принимает значение по умолчанию к определенному типу данных в C++? Я пытаюсь записать функцию для класса для прототипа:

unsigned Rotate(unsigned object, int count)

Но я действительно не добираюсь что unsigned средства. Не был должен это быть похожим unsigned int или что-то?

81
задан huu 13 March 2017 в 22:02
поделиться

5 ответов

Из ссылки выше:

Некоторые из этих типов могут быть изменены с помощью подписанных ключевых слов, без знака, короткие и длинные. Когда один из этих модификаторов типа используется сама собой, предполагается тип данных INT

Это означает, что вы можете предположить, что автор использует INT.

90
ответ дан 24 November 2019 в 09:35
поделиться

Вы можете прочитать о ключевом слов без знака в ссылке C ++ .

В этом вопросе есть два разных типа, подписаны и не подписаны. По умолчанию для целых чисел подписано, что означает, что они могут иметь отрицательные значения.

На 32-битной системе целое число составляет 32 бит, что означает, что он может содержать значение ~ 4 миллиардов.

И когда он подписан, это означает, что вам нужно разделить его, оставив -2 млрд. До +2 миллиарда.

Когда оно без знака, однако значение не может содержать любые отрицательные числа, поэтому для целых чисел это будет означать от 0 до +4 миллиардов.

Есть немного больше информации об этом на Wikipedia .

8
ответ дан 24 November 2019 в 09:35
поделиться

целочисленные типы:

short            -> signed short
signed short
unsigned short
int              -> signed int
signed int
unsigned int
signed           -> signed int
unsigned         -> unsigned int
long             -> signed long
signed long
unsigned long

Будьте осторожны на CHAR:

char  (is signed or unsigned depending on the implmentation)
signed char
unsigned char
38
ответ дан 24 November 2019 в 09:35
поделиться

Имеет ли значение в виде данных о без знаменитых данных на тип данных в C ++

Да, подписан и без знаки, также может использоваться как спецификаторы автономных типов

целочисленные типы данных CHAR, короткие , долго и int можно либо подписать, либо без подписания в зависимости от диапазона чисел, необходимых для представления. Подписанные типы могут представлять как положительные, так и отрицательные значения, в то время как unsigned Types могут представлять только положительные значения (и ноль).

Недостаточно целое число, содержащее N битов, может иметь значение от 0 до 2 N - 1 (который составляет 2 N разные значения).

Тем не менее, подписанные и без знаки также могут быть использованы в качестве спецификаторов автономных типов, что означает такой же, как и подписанный INT и unsigned Int, соответственно. Следующие два декларации эквивалентны:

unsigned NextYear;
unsigned int NextYear;
21
ответ дан 24 November 2019 в 09:35
поделиться

Да, это означает unsigned int . Раньше было то, что если вы не укажете тип данных в C, было много мест, где он только что предполагал INT . Это было попробовать, например, типов возврата функций.

Эта бородавка в основном была уничтожена, но вы встречаетесь с его последними переживаниями здесь. ИМХО, код должен быть исправлен, чтобы сказать unsigned int , чтобы избежать просто путаницы, которую вы испытываете.

3
ответ дан 24 November 2019 в 09:35
поделиться
Другие вопросы по тегам:

Похожие вопросы: