标签:目的 原因 pre 很多 end nbsp 开发 style false
类型
|
大小,即字节数
|
范围
|
说明
|
char
signed char
unsigned char
|
1
|
-128 ~127
-128 ~127
0~255
|
Arduino中的char是有符号的,等价于signedchar。范围是-128 ~127 。
char目的是用于储存ASCII字符。如果你想存储字节数据,建议使用byte来明确代码。
|
byte
|
1
|
0~255
|
byte不是C/C++标准类型,他是Arduino平台下特有的,实际就是无符号8位类型。
Arduino.h中,有这样的类型定义:
typedef uint8_t byte;
|
int
unsigned int
|
2
(或者4)
|
-32768-32767
(2字节有符号)
0~65535
(2字节无符号)
|
在基于ATMega的8位单片机中,如Arduino UNO,Ardunio Mega2560,int是2字节的.
而在有些高级Arduino板,如Arduino Due,SAMD等中,int占4字节。
|
long
unsigned long
|
4
|
-2147483648 ~ 2147483647
0 ~ 4294967295
|
长整型常量末尾要用L标识出来。
如:long num = 29596725L;
|
float
|
4
|
-3.4028235E+38 to 3.4028235E+38
|
\
|
double
|
4
(或者8)
|
-3.4028235E+38 to 3.4028235E+38
|
在基于ATMega的8位单片机中,如Arduino UNO,Ardunio Mega2560,double和float没有差别,都是4字节的.
而在Due,等高级板中,占8字节。
|
bool
|
1
|
true 、 false
|
实质就是C++中的bool类型,你也可以使用boolean,因为在Arduino.h中,有这样的类型定义:
typedef bool boolean;
|
#ifndef Binary_h #define Binary_h #define B0 0 #define B00 0 #define B000 0 #define B0000 0 #define B00000 0 #define B000000 0 #define B0000000 0 #define B00000000 0 #define B1 1 #define B01 1 #define B001 1 #define B0001 1 #define B00001 1 #define B000001 1 #define B0000001 1 #define B00000001 1 #define B10 2 #define B010 2 #define B0010 2 #define B00010 2 #define B000010 2 #define B0000010 2 #define B00000010 2 #define B11 3 #define B011 3 #define B0011 3 #define B00011 3 #define B000011 3 #define B0000011 3 #define B00000011 3 #define B100 4 #define B0100 4 #define B00100 4 #define B000100 4 #define B0000100 4 #define B00000100 4 #define B101 5 #define B0101 5 #define B00101 5 #define B000101 5 #define B0000101 5 #define B00000101 5 #define B110 6 #define B0110 6 #define B00110 6 #define B000110 6 #define B0000110 6 #define B00000110 6 #define B111 7 #define B0111 7 #define B00111 7 #define B000111 7 #define B0000111 7 #define B00000111 7 #define B1000 8 #define B01000 8 #define B001000 8 #define B0001000 8 #define B00001000 8 #define B1001 9 #define B01001 9 #define B001001 9 #define B0001001 9 #define B00001001 9 #define B1010 10 #define B01010 10 #define B001010 10 #define B0001010 10 #define B00001010 10 /*.......篇幅原因,省去........*/ #define B11111110 254 #define B11111111 255 #endif
/*********************整数类型************************/ typedef signed char int8_t; //8bit有符号类型 typedef unsigned char uint8_t; // 8bit无符号类型 typedef signed int int16_t; //16bit有符号类型 typedef unsigned int uint16_t;//16bit有符号类型 typedef signed long int int32_t; //328bit有符号类型 typedef unsigned long int uint32_t; //32bit有符号类型 typedef signed long long int int64_t; //32bit有符号类型.可能无法使用 typedef unsigned long long int uint64_t; //32bit有符号类型,可能无法使用 /***************保存地址值的类型****************/ typedef int16_t intptr_t; //保存地址值的类型,有符号 typedef uint16_t uintptr_t; //保存地址值的类型,无符号 //远地址类型,用于单片机SRAM大于64K(地址编号为0~65535 )的情况,用intptr_t可能会溢出。 typedef uint32_t uint_farptr_t; typedef int32_t int_farptr_t; /***********宏符号常量,保存了各种类型的最大,最小值**********/ INT8_MAX INT8_MIN UINT_MAX INT16_MAX INT16_MIN UINT16_MAX
INT32_MAX INT32_MIN UINT32_MAX
标签:目的 原因 pre 很多 end nbsp 开发 style false
原文地址:http://www.cnblogs.com/lulipro/p/7672954.html