Skip to content Skip to sidebar Skip to footer

Data Types in C++ Language Arduino Programming

Data Types Arduino

Data Types in C++ Language Arduino Programming - Computers, including Arduino, tend to be very data agnostic. At its core, the heart of the device is the Arithmetic Logic Unit (ALU), which performs simple operations on locations in memory, such as: R1 + R2, R3 * R7, R4 & R5, etc. 

The ALU doesn't care what kind of data it is, be it text, integer values, floating point values, or even parts of program code. All contexts for these operations come from the Compiler, and the instructions for those contexts to the Compiler come from the user.

You as a programmer, tell the compiler that this value is an integer and value it is a floating point number. Then the compiler tries to find out what you mean when you say "Add this integer to the floating point."




Define Data Types Arduino

Arduino's chogging uses C++ with the support of various libraries to simplify the coding process. C ++ defines a number of different data types. Below is a list of data types that are usually seen in Arduino, with each memory size in parentheses after the name type.

Note: The signed type variable allows positive and negative numbers, while the unsigned variable only allows positive values.

  • Boolean (8 bits)
    Simple logic right / wrong.

  • bytes (8 bits)
    The unsigned type of range from 0-255.

  • Char (8 Bit)
    The type of signed range from -128 to 127. The compiler will try to interpret this type of data as a character in some circumstances, which might produce unexpected results.

  • unsigned char (8 bits)
    Same as 'byte'; If this is what you are looking for, you have to use 'bytes' instead, for the reason for clarity.

  • Word (16 bits)
    Unsigned type of range from 0 to 65535.

  • unsigned int (16 bits)
    same as 'word'. Use 'Word' for clarity and in short.

  • Int (16 bits)
    The type of signed range from -32768 to 32767. This is most commonly used for general purpose variables in the Arduino sample code provided by ideas.

  • Unsigned Long (32 bits)
    The unsigned type of range from 0 to 4294,967,295. The most common use of this is to save the results of the mailing list () function, which returns the number of milliseconds the current code has been running.

  • Long (32 Bit)
    The type of signed range from -2,147,483,648 to 2,147,483,647.

  • Float (32 bits)
    The type of signed range from -3.4028235E38 to 3,4028235E38.

  • Double (64 bit)
    Unsigned type of range from -1.7e308 to 1.7e308

     

In addition there are also data types that are different writings, but have the same meaning with several data types above, namely:

  • int8_t
    • Type signed integer
    • 8 bits
    • The reach from -128 to 255
    • Int8_t Same with Char

  • uint8_t
    • Unsigned type integer
    • 8 bits
    • The reach is from 0 to 255
    • int8_t the same as bytes

  • int16_t
    • Type signed integer
    • 16 bit size
    • The reach from -32,768 to 32.767
    • int16_t is the same as Short

  • uint16_t
    • Unsigned type integer
    • 16 bit size
    • The reach is from 0 to 65,535
    • uint16_t ia the same as unsigned short

  • int32_t
    • Type signed integer
    • 32 bits
    • The reach from -2,147,483,648 to 2,147,483,647
    • int16_t is the same as int

  • uint32_t
    • Unsigned type integer
    • 32 bits
    • The range from 0 to 4,294,967,295
    • int16_t is equal to unsigned int

  • int64_t
    • Unsigned type integer
    • 64 bit size
    • The range from -9,223,372,036,854,775,808 to 9,223,372,036,854,775,807
    • int32_t is the same as Long Long

  • uint64_t
    • Unsigned type integer
    • 64 bit size
    • The reach from 0 to 18,446,744,073,709,551,615
    • Int32_t Same Unsigned Long Long


Space size and process time

The processor in the heart of Arduino board, Atmel ATMEGA328P, is an original 8-bit processor without default support for floating point numbers. To use a data type greater than 8 bits, the compiler needs to make a code sequence capable of taking a larger data piece, do it little by little, then put the results in its place.

This means it is best when processing the value of 8-bit data types and worst when processing a 32-bit double point data type. The greater the bit value (above 8 bits) processed by the microcontroller, it will require a longer processing time than the 8-bit data type. The range of times is in a matter of microseconds.

Post a Comment for "Data Types in C++ Language Arduino Programming"