Показаны различия между двумя версиями страницы.
| Предыдущая версия справа и слеваПредыдущая версия | |||
| theory:data [2020/08/14 11:20] – alexnik | theory:data [2020/08/14 12:07] (текущий) – alexnik | ||
|---|---|---|---|
| Строка 32: | Строка 32: | ||
| ===== Типы данных ===== | ===== Типы данных ===== | ||
| Тип определяет возможные значения и их смысл, операции, | Тип определяет возможные значения и их смысл, операции, | ||
| + | |||
| ==== boolean ==== | ==== boolean ==== | ||
| + | Может принимать одно из двух значений true или false. boolean занимает в памяти один байт.\\ | ||
| + | |||
| + | ==== char ==== | ||
| + | Переменная типа char занимает 1 байт памяти и может хранить один алфавитно-цифровой символ (литеру). При объявление литеры используются одиночные кавычки: | ||
| + | |||
| + | Символ хранится в памяти как число, соответствующее коду символа в таблице кодировки символов ASCII. Т.к. символ хранится как число в памяти над ним возможно производить арифметические действия (например, | ||
| + | |||
| + | Тип char знаковый тип, т.е. число (код) хранящийся в памяти может принимать значения от -128 до 127. Если необходима беззнаковая однобайтовая переменная, | ||
| + | |||
| + | ==== byte ==== | ||
| + | Тип данных byte 8-ми битное беззнаковое целое число, в диапазоне 0..255.\\ | ||
| - | Может принимать одно из двух значений true или false. boolean занимает в памяти один байт. | ||
| - | \\ | ||
| ==== int ==== | ==== int ==== | ||
| Тип данных int (от англ. integer - целое число) один из наиболее часто используемых типов данных для хранения чисел. int занимает 2 байта памяти, | Тип данных int (от англ. integer - целое число) один из наиболее часто используемых типов данных для хранения чисел. int занимает 2 байта памяти, | ||
| + | |||
| Для размещения отрицательных значений int использует, | Для размещения отрицательных значений int использует, | ||
| + | |||
| Arduino компилятор сам заботиться о размещении в памяти и представлении отрицательных чисел, поэтому арифметические действия над целыми числами производятся как обычно.\\ | Arduino компилятор сам заботиться о размещении в памяти и представлении отрицательных чисел, поэтому арифметические действия над целыми числами производятся как обычно.\\ | ||
| Когда переменная типа int в следствие арифметической операции достигает своего максимального значения, | Когда переменная типа int в следствие арифметической операции достигает своего максимального значения, | ||
| + | |||
| ==== unsigned int ==== | ==== unsigned int ==== | ||
| Тип данных unsigned int - без знаковое целое число, также как и тип int (знаковое) занимает в памяти 2 байта. Но в отличие от int, тип unsigned int может хранить только положительные целые числа в диапазоне от 0 до 65535 (2^16)-1).\\ | Тип данных unsigned int - без знаковое целое число, также как и тип int (знаковое) занимает в памяти 2 байта. Но в отличие от int, тип unsigned int может хранить только положительные целые числа в диапазоне от 0 до 65535 (2^16)-1).\\ | ||
| Отличие кроется в том как unsigned int использует старший бит, иногда называемый знаковый бит. Если старший бит равен 1, то для типа int компилятор Arduino считает, | Отличие кроется в том как unsigned int использует старший бит, иногда называемый знаковый бит. Если старший бит равен 1, то для типа int компилятор Arduino считает, | ||
| + | |||
| ==== long ==== | ==== long ==== | ||
| Тип данных long используется для хранения целых чисел в расширенном диапазоне от -2, | Тип данных long используется для хранения целых чисел в расширенном диапазоне от -2, | ||
| ==== unsigned long ==== | ==== unsigned long ==== | ||
| Unsigned long используется для хранения положительных целых чисел в диапазоне от 0 до 4, | Unsigned long используется для хранения положительных целых чисел в диапазоне от 0 до 4, | ||
| + | |||
| + | ==== float ==== | ||
| + | Тип данных float служит для хранения чисел с плавающей запятой. Этот тип часто используется для операций с данными, | ||
| + | |||
| + | Тип float имеет точность 6-7 знаков, | ||
| + | |||
| + | Хранение в памяти чисел с плавающей точкой в двоичной системе обуславливает потерю точности. Так, например, | ||
| + | |||
| + | Следует также учитывать, | ||
| + | |||
| + | ==== double ==== | ||
| + | Тип данных double, в отличие от большинства языков программирования, | ||
| + | |||
| + | Тип double поддерживается в Arduino для совместимости кода с другими платформами.\\ | ||
| + | |||
| + | ==== word ==== | ||
| + | Тип данных word хранит 16-битное, | ||
| + | |||
| + | ==== array ==== | ||
| + | Массивы (arrays) — именованный набор однотипных переменных, | ||
| + | |||
| + | ==== string ==== | ||
| + | Текстовые строки в Ардуино объявляются как массив (array) типа char (символов - литер), | ||
| + | |||
| + | ==== String ==== | ||
| + | String класс появился в версии Arduino 0019. Этот класс позволяет хранить и манипулировать текстовыми строками, | ||
| + | |||
| + | Обратите внимание при обращение к классу String — он пишется с заглавной S. Массив символов string — с прописной s. Строковые константы, | ||
| + | |||