Показаны различия между двумя версиями страницы.
Предыдущая версия справа и слеваПредыдущая версия | |||
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. Строковые константы, | ||
+ |