The VEX Visual Studio Code Extension has replaced VEXcode Pro V5, which is now end-of-life.
VEXcode Blocks and VEXcode Text remain actively developed and supported for all VEX platforms.
Типы, содержащие целые числа: char, short, int, long, long long
Давайте посмотрим на несколько примеров:
символ квар = 50;
символов квар = 50;
короткий свар = 50;
int ивар = 50;
длинных lvar1 = 50;
длинных lvar2 = 50;
Основные арифметические операторы:
Большинство знакомы с основными арифметическими операторами и порядком старшинства: + , -, *, /
Вот несколько примеров использования унарного оператора: ++ и --:
| Выражение | Эквивалентно | Также эквивалентно |
|---|---|---|
| cvar += 5; | cvar = cvar + 5; | |
| ++cvar; | cvar++; | cvar = cvar + 1; |
| --cvar; | cvar--; | cvar = cvar - 1; |
Остерегайтесь переменной ++ и переменной ++!
++переменная
int x = 10, y = 20;
X = ++y;
Примечание: после этой операции: X = 21, и Y тоже = 21.
переменная++
int x = 10, y = 20;
X = y++;
Примечание: после этой операции: X = 20 и Y = 21.
Сравнить целочисленные типы данных
Существует группа или тип данных, который допускает как положительные, так и отрицательные значения — «подписанные». Однако вам не нужно указывать это, поскольку это неявно. См. ниже:
| Тип данных | Наименьшее значение | Наибольшее значение |
|---|---|---|
| чар | -2 7 или -128 | 2 7 - 1 или 127 |
| короткий | -2 15 или -32,768 | 2 15 - 1 или 32,767 |
| инт | -2 31 или -2,147,483,648 | 2 31 – 1 или 2 147 483 647 |
| длинный | -2 31 или -2,147,483,648 | 2 31 – 1 или 2 147 483 647 |
| длинный длинный | -2 63 или -9,223,372,036,854,775,808 | 2 63 – 1 или 9 223 372 036 854 775 807 |
Существует группа или тип данных, который допускает только положительное значение — «без знака».
| Тип данных | Наименьшее значение | Наибольшее значение |
|---|---|---|
| беззнаковый символ | 0 | 2 8 - 1 или 255 |
| неподписанный короткий | 0 | 2 16 - 1 или 65,535 |
| беззнаковое целое число | 0 | 2 32 – 1 или 4 294 967 295 |
| неподписанный длинный | 0 | 2 32 – 1 или 4 294 967 295 |
| без подписи длинный длинный | 0 | 2 64 – 1 или 18,446,744,073,709,551,615 |
Как вы проверяете размер данных?
На данный момент вам следует знать оператор sizeof( ). Это обеспечивает единицу хранения памяти, называемую «байтами», которая будет немного рассмотрена в следующем разделе.
Пример, чтобы сообщить вам, сколько байт следует ввести с помощью оператора sizeof(). Попробуйте это, чтобы проверить их самостоятельно. Если вы перейдете на другой контроллер, вы всегда можете сделать следующее для проверки.
Brain.Screen.setFont(fontType::mono30);
Brain.Screen.printAt(1, 20,"char имеет %d байт", sizeof(char));
Brain.Screen.printAt(1, 50,"short имеет %d байта", sizeof(short));
Brain.Screen.printAt(1, 80,"int имеет %d байт", sizeof(int));
Brain.Screen.printAt(1, 110, "long имеет %d байт", sizeof(long));
Brain.Screen.printAt(1, 140, "long long имеет %d байт", sizeof(long long));
Brain.Screen.printAt(1, 170, "float имеет %d байт", sizeof(float));
Brain.Screen.printAt(1, 200, "double has %d bytes", sizeof(double));
Текст, выведенный на экран V5 Brain:
char имеет 1 байт
имеет 2 байта, int имеет
байта, long имеет
байта
long имеет 8 байт
float имеет 4 байта
имеет 8 байт.Что означает байт?
«Байт» — это стандартная единица хранения данных.
Один байт = 8 бит. Один бит — это наименьшая единица памяти, которая может иметь значения только 1 и 0 (двоичное значение). Однако наименьшая единица памяти, которую вы можете получить от системы, составляет 1 байт; поэтому вы не можете запросить 1,5 байта и т. д.
Давайте посмотрим на char. Он достаточно короткий, чтобы его можно было легко отобразить.
Если все заполнено единицами, вы получите 28-1. Это значение должно быть максимальным значением «unsigned char», которое должно храниться.
Система резервирует бит старшего порядка , чтобы дать отрицательное значение. Таким образом, максимальное значение «char» варьируется от -128 до 127. Однако емкость по-прежнему такая же, как у «беззнакового символа», несмотря на разницу в диапазоне данных.
В компьютере используется операция, называемая дополнением двойки. Это часть темы побитовых операций, которая выходит за рамки данного документа. Подробнее об этой теме будет сказано в другом документе.
В чем разница между char и int?
Вот некоторые распространенные варианты использования «char» и «int»:
char var1 = '9';
int var2 = 9;
Распространено заблуждение, что «char» может содержать только такие символы, как «a», «b» или «9». Это неправильно.
Фактически тип «char» аналогичен типу «int», за исключением того, что емкость char составляет всего 1 байт, а емкость int — 4 байта. Таким образом, диапазон размеров данных у них разный. Вы можете видеть это в таблице диапазонов данных выше.
Следующие сегменты кода дадут вам более четкое представление о char и int.
int iX = '0';
char cX1 = 49;
char cX2 = 50;
Brain.Screen.printAt(3, 20, "целочисленное представление '%c' = %d", iX, iX);
Brain.Screen.printAt(3, 50, "целочисленное представление '%c' = %d", cX1, cX1);
Brain.Screen.printAt(3, 80, "целочисленное представление '%c' = %d", cX2, cX2);
Brain.Screen.printAt(3, 140, "Итак, '%c' - '%c' = %d ", cX2, iX, cX2 - cX1);
Выход:
Целочисленное представление '0' = 48
Целочисленное представление '1' = 49
Целочисленное представление '2' = 50
Следовательно, '2' – '0' = 1
Вы можете задаться вопросом: почему «0» означает 48?
Это приведет к теме, называемой «Преобразование кода ASCII». Стандарт ASCII — это одна из важнейших вех IEEE, опубликованная еще в 1963 году. Это выходит за рамки данной статьи. Вам рекомендуется просмотреть таблицу кодов ASCII в Интернете. В Интернете вы найдете множество информации о кодовой таблице ASCII.