Типы данных в Arduino IDE и их вес (размер) в байтах.

Arduino IDE - это интегрированная среда разработки (IDE), которая используется для программирования микроконтроллеров Arduino. В Arduino IDE используются различные типы данных, которые определяют, какой тип информации можно хранить и обрабатываеть микроконтроллером.

Типы данных и их вес (размер) в байтах

Типы данных и их вес (размер) в байтах:

  1. int:
    • Описание: Тип данных int (integer) представляет целые числа со знаком.
    • Размер: 2 байта (от -32,768 до 32,767).
  2. unsigned int:
    • Описание: Тип данных unsigned int представляет целые числа без знака.
    • Размер: 2 байта (от 0 до 65,535).
  3. long:
    • Описание: Тип данных long представляет длинные целые числа со знаком.
    • Размер: 4 байта (от -2,147,483,648 до 2,147,483,647).
  4. unsigned long:
    • Описание: Тип данных unsigned long представляет длинные целые числа без знака.
    • Размер: 4 байта (от 0 до 4,294,967,295).
  5. float:
    • Описание: Тип данных float представляет числа с плавающей точкой одинарной точности.
    • Размер: 4 байта (от -3.4028235E+38 до 3.4028235E+38).
  6. double:
    • Описание: Тип данных double представляет числа с плавающей точкой двойной точности.
    • Размер: 8 байт (от -1.7976931348623157E+308 до 1.7976931348623157E+308).
  7. uint8_t:
    • Описание: Тип данных uint8_t представляет беззнаковые целые числа размером 8 бит (1 байт).
    • Размер: 1 байт (от 0 до 255).
  8. int8_t:
    • Описание: Тип данных int8_t представляет целые числа со знаком размером 8 бит (1 байт).
    • Размер: 1 байт (от -128 до 127).
  9. uint16_t:
    • Описание: Тип данных uint16_t представляет беззнаковые целые числа размером 16 бит (2 байта).
    • Размер: 2 байта (от 0 до 65,535).
  10. int16_t:
    • Описание: Тип данных int16_t представляет целые числа со знаком размером 16 бит (2 байта).
    • Размер: 2 байта (от -32,768 до 32,767).
  11. uint32_t:
    • Описание: Тип данных uint32_t представляет беззнаковые целые числа размером 32 бита (4 байта).
    • Размер: 4 байта (от 0 до 4,294,967,295).
  12. int32_t:
    • Описание: Тип данных int32_t представляет целые числа со знаком размером 32 бита (4 байта).
    • Размер: 4 байта (от -2,147,483,648 до 2,147,483,647).
  13. uint64_t:
    • Описание: Тип данных uint64_t представляет беззнаковые целые числа размером 64 бита (8 байт).
    • Размер: 8 байт (от 0 до 18,446,744,073,709,551,615).
  14. int64_t:
    • Описание: Тип данных int64_t представляет целые числа со знаком размером 64 бита (8 байт).
    • Размер: 8 байт (от -9,223,372,036,854,775,808 до 9,223,372,036,854,775,807).
  15. boolean:
    • Описание: Тип данных boolean представляет логические значения true (истина) или false (ложь).
    • Размер: 1 байт (обычно хранит 0 для false и 1 для true, но фактически использует только 1 бит).
  16. char:
    • Описание: Тип данных char представляет одиночные символы или небольшие целые числа (хранит ASCII-код символа).
    • Размер: 1 байт (от -128 до 127 или от 0 до 255, в зависимости от использования со знаком или без).
  17. byte:
    • Описание: Тип данных byte представляет беззнаковые целые числа размером 8 бит (1 байт).
    • Размер: 1 байт (от 0 до 255).

Пример кода:

/*
   Сайт автора https://arduino-tex.ru/
   Проекты на Arduino https://portal-pk.ru/page-17/proekty-na-arduino.html
   Проекты на ESP https://arduino-tex.ru/menu/10/11/proekty-na-esp8266-esp32.html
   Страница урока https://arduino-tex.ru/news/171/osnovnye-ponyatiya-protokola-udp-primer-raboty-udp-s-esp32-i.html
*/
void setup() {
  Serial.begin(9600);
  int myInt = 12345;
  unsigned int myUInt = 65535;
  long myLong = 987654321;
  unsigned long myULong = 4294967295;
  float myFloat = 3.14;
  double myDouble = 2.71828;
  uint8_t myUint8 = 255;
  int8_t myInt8 = -128;
  uint16_t myUint16 = 65535;
  int16_t myInt16 = -32768;
  uint32_t myUint32 = 4294967295;
  int32_t myInt32 = -2147483648;
  uint64_t myUint64 = 18446744073709551615;
  int64_t myInt64 = -9223372036854775808;
  boolean myBoolean = true;
  char myChar = 'A';
  byte myByte = 200;
  Serial.println("Size of int: " + String(sizeof(myInt)) + " bytes");
  Serial.println("Size of unsigned int: " + String(sizeof(myUInt)) + " bytes");
  Serial.println("Size of long: " + String(sizeof(myLong)) + " bytes");
  Serial.println("Size of unsigned long: " + String(sizeof(myULong)) + " bytes");
  Serial.println("Size of float: " + String(sizeof(myFloat)) + " bytes");
  Serial.println("Size of double: " + String(sizeof(myDouble)) + " bytes");
  Serial.println("Size of uint8_t: " + String(sizeof(myUint8)) + " bytes");
  Serial.println("Size of int8_t: " + String(sizeof(myInt8)) + " bytes");
  Serial.println("Size of uint16_t: " + String(sizeof(myUint16)) + " bytes");
  Serial.println("Size of int16_t: " + String(sizeof(myInt16)) + " bytes");
  Serial.println("Size of uint32_t: " + String(sizeof(myUint32)) + " bytes");
  Serial.println("Size of int32_t: " + String(sizeof(myInt32)) + " bytes");
  Serial.println("Size of uint64_t: " + String(sizeof(myUint64)) + " bytes");
  Serial.println("Size of int64_t: " + String(sizeof(myInt64)) + " bytes");
  Serial.println("Size of boolean: " + String(sizeof(myBoolean)) + " bytes");
  Serial.println("Size of char: " + String(sizeof(myChar)) + " bytes");
  Serial.println("Size of byte: " + String(sizeof(myByte)) + " bytes");
}
void loop() {
  // Your code here
}

Типы данных и их вес (размер) в байтах

Типы данных.

Тип данных Вес (размер) в байтах Диапазон значений
int 2 -32,768 до 32,767
unsigned int 2 0 до 65,535
long 4 -2,147,483,648 до 2,147,483,647
unsigned long 4 0 до 4,294,967,295
float 4 -3.4028235E+38 до 3.4028235E+38
double 8 -1.7976931348623157E+308 до 1.7976931348623157E+308
uint8_t 1 0 до 255
int8_t 1 -128 до 127
uint16_t 2 0 до 65,535
int16_t 2 -32,768 до 32,767
uint32_t 4 0 до 4,294,967,295
int32_t 4 -2,147,483,648 до 2,147,483,647
uint64_t 8 0 до 18,446,744,073,709,551,615
int64_t 8 -9,223,372,036,854,775,808 до 9,223,372,036,854,775,807
boolean 1 true (истина) или false (ложь)
char 1 -128 до 127 или 0 до 255
byte 1 0 до 255

Примечание:

Размеры типов данных, как указано выше, верны для микроконтроллеров AVR (например, Arduino Uno) и многих других платформ на базе AVR. Если вы используете Arduino на базе других микроконтроллеров (например, ARM) или другой версии Arduino IDE, размеры типов данных могут отличаться.

Заключение:

Используя различные типы данных в Arduino IDE, вы можете эффективно управлять памятью и работать с различными типами информации на микроконтроллере Arduino. Знание размеров типов данных поможет вам избежать ненужных переполнений памяти и эффективно использовать ограниченные ресурсы устройства.


Мы рады объявить о нашем присутствии на Boosty! Arduino-Tex приглашает всех наших друзей и последователей поддержать нас на этой замечательной платформе. Здесь вы найдете эксклюзивный контент, уникальные проекты и возможность стать частью нашей творческой команды. Присоединяйтесь к нам на Boosty и вместе мы сделаем мир Arduino еще удивительнее!


Понравилась статья Типы данных в Arduino IDE и их вес (размер) в байтах? Не забудь поделиться с друзьями в соц. сетях.

А также подписаться на наш канал на YouTube, вступить в группу Вконтакте, в группу на Facebook.

Спасибо за внимание!

Технологии начинаются с простого!


Файлы для скачивания

Пример кода Пример кода.ino2 Kb 406 Скачать

Комментарии

Ваше Имя*


Разработка проектов