Действительно ли неподписанное ключевое слово принимает значение по умолчанию к определенному типу данных в C++? Я пытаюсь записать функцию для класса для прототипа:
unsigned Rotate(unsigned object, int count)
Но я действительно не добираюсь что unsigned
средства. Не был должен это быть похожим unsigned int
или что-то?
Некоторые из этих типов могут быть изменены с помощью подписанных ключевых слов, без знака, короткие и длинные. Когда один из этих модификаторов типа используется сама собой, предполагается тип данных INT
Это означает, что вы можете предположить, что автор использует INT.
Вы можете прочитать о ключевом слов без знака в ссылке C ++ .
В этом вопросе есть два разных типа, подписаны и не подписаны. По умолчанию для целых чисел подписано, что означает, что они могут иметь отрицательные значения.
На 32-битной системе целое число составляет 32 бит, что означает, что он может содержать значение ~ 4 миллиардов.
И когда он подписан, это означает, что вам нужно разделить его, оставив -2 млрд. До +2 миллиарда.
Когда оно без знака, однако значение не может содержать любые отрицательные числа, поэтому для целых чисел это будет означать от 0 до +4 миллиардов.
Есть немного больше информации об этом на Wikipedia .
целочисленные типы:
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
Имеет ли значение в виде данных о без знаменитых данных на тип данных в C ++
Да, подписан и без знаки, также может использоваться как спецификаторы автономных типов
целочисленные типы данных CHAR, короткие , долго и int можно либо подписать, либо без подписания в зависимости от диапазона чисел, необходимых для представления. Подписанные типы могут представлять как положительные, так и отрицательные значения, в то время как unsigned Types могут представлять только положительные значения (и ноль).
Недостаточно целое число, содержащее N битов, может иметь значение от 0 до 2 N - 1 (который составляет 2 N разные значения).
Тем не менее, подписанные и без знаки также могут быть использованы в качестве спецификаторов автономных типов, что означает такой же, как и подписанный INT и unsigned Int, соответственно. Следующие два декларации эквивалентны:
unsigned NextYear;
unsigned int NextYear;
Да, это означает unsigned int
. Раньше было то, что если вы не укажете тип данных в C, было много мест, где он только что предполагал INT
. Это было попробовать, например, типов возврата функций.
Эта бородавка в основном была уничтожена, но вы встречаетесь с его последними переживаниями здесь. ИМХО, код должен быть исправлен, чтобы сказать unsigned int
, чтобы избежать просто путаницы, которую вы испытываете.