Data Types In Arduino - Learn.

  • Home
  • Tutorials
  • Data Types in Arduino
Data Types in Arduino Pages Contributors: b_e_n Share Use this URL to share: Share on Tumblr Submit to reddi Share on Twitter Share on Facebook Pin It

Defining Data Types

The Arduino environment is really just C++ with library support and built-in assumptions about the target environment to simplify the coding process. C++ defines a number of different data types; here we'll talk only about those used in Arduino with an emphasis on traps awaiting the unwary Arduino programmer.

Below is a list of the data types commonly seen in Arduino, with the memory size of each in parentheses after the type name. Note: signed variables allow both positive and negative numbers, while unsigned variables allow only positive values.

  • boolean (8 bit) - simple logical true/false
  • byte (8 bit) - unsigned number from 0-255
  • char (8 bit) - signed number from -128 to 127. The compiler will attempt to interpret this data type as a character in some circumstances, which may yield unexpected results
  • unsigned char (8 bit) - same as 'byte'; if this is what you're after, you should use 'byte' instead, for reasons of clarity
  • word (16 bit) - unsigned number from 0-65535
  • unsigned int (16 bit)- the same as 'word'. Use 'word' instead for clarity and brevity
  • int (16 bit) - signed number from -32768 to 32767. This is most commonly what you see used for general purpose variables in Arduino example code provided with the IDE
  • unsigned long (32 bit) - unsigned number from 0-4,294,967,295. The most common usage of this is to store the result of the millis() function, which returns the number of milliseconds the current code has been running
  • long (32 bit) - signed number from -2,147,483,648 to 2,147,483,647
  • float (32 bit) - signed number from -3.4028235E38 to 3.4028235E38. Floating point on the Arduino is not native; the compiler has to jump through hoops to make it work. If you can avoid it, you should. We'll touch on this later.

This tutorial will NOT cover arrays, pointers, or strings; those are more specialized datatypes with more involved concepts that will be covered elsewhere.

Share Use this URL to share: Share on Tumblr Submit to reddi Share on Twitter Share on Facebook Pin It View as a single page Next Page → Time and Space ← Previous Page Introduction Pages Introduction Defining Data Types Time and Space Testing Data Types (Addition) Testing Data Types (Multiplication/Division) Resources and Going Further Comments 2 Single Page Print
  • Tags
    • Arduino
    • Computer Engineering
    • Concepts
    • Programming
  • License
  • Creative Commons tutorials are CC BY-SA 4.0

Tag » Arduino Byte Data Type Char