Arduino-데이터 유형

C의 데이터 유형은 다양한 유형의 변수 또는 함수를 선언하는 데 사용되는 광범위한 시스템을 나타냅니다. 변수 유형은 저장소에서 차지하는 공간의 양과 저장된 비트 패턴이 해석되는 방식을 결정합니다.

다음 표는 Arduino 프로그래밍 중에 사용할 모든 데이터 유형을 제공합니다.

빈 부울 숯 부호없는 문자 바이트 int 부호없는 정수 워드
긴 부호없는 long 짧은 흙손 더블 정렬 문자열-문자 배열 문자열 객체

빈

void 키워드는 함수 선언에서만 사용됩니다. 함수가 호출 된 함수에 정보를 반환하지 않을 것으로 예상됨을 나타냅니다.

예

Void Loop ( ) {
   // rest of the code
}

부울

부울은 true 또는 false의 두 값 중 하나를 보유합니다. 각 부울 변수는 1 바이트의 메모리를 차지합니다.

예

boolean val = false ; // declaration of variable with type boolean and initialize it with false
boolean state = true ; // declaration of variable with type boolean and initialize it with true

숯

문자 값을 저장하는 1 바이트 메모리를 차지하는 데이터 유형입니다. 문자 리터럴은 'A'와 같이 작은 따옴표로 작성되며 여러 문자의 경우 문자열은 큰 따옴표 "ABC"를 사용합니다.

그러나 문자는 숫자로 저장됩니다. ASCII 차트 에서 특정 인코딩을 볼 수 있습니다 . 이것은 문자의 ASCII 값이 사용되는 문자에 대해 산술 연산을 수행 할 수 있음을 의미합니다. 예를 들어 'A'+ 1은 대문자 A의 ASCII 값이 65이기 때문에 값 66을 갖습니다.

예

Char chr_a = ‘a’ ;//declaration of variable with type char and initialize it with character a
Char chr_c = 97 ;//declaration of variable with type char and initialize it with character 97

부호없는 문자

Unsigned char1 바이트의 메모리를 차지하는 부호없는 데이터 유형입니다. unsigned char 데이터 유형은 0에서 255까지의 숫자를 인코딩합니다.

예

Unsigned Char chr_y = 121 ; // declaration of variable with type Unsigned char and initialize it with character y

바이트

바이트는 0에서 255까지의 8 비트 부호없는 숫자를 저장합니다.

예

byte m = 25 ;//declaration of variable with type byte and initialize it with 25

int

정수는 숫자 저장을위한 기본 데이터 유형입니다. int는 16 비트 (2 바이트) 값을 저장합니다. 이는 -32,768에서 32,767의 범위를 산출합니다 (최소값 -2 ^ 15 및 최대 값 (2 ^ 15)-1).

그만큼 int크기는 보드마다 다릅니다. 예를 들어 Arduino Due에서int32 비트 (4 바이트) 값을 저장합니다. 이것은 -2,147,483,648에서 2,147,483,647 사이의 범위를 산출합니다 (최소값 -2 ^ 31 및 최대 값 (2 ^ 31)-1).

예

int counter = 32 ;// declaration of variable with type int and initialize it with 32

부호없는 정수

부호없는 정수 (부호없는 정수)는 2 바이트 값을 저장하는 방식에서 int와 동일합니다. 그러나 음수를 저장하는 대신 양수 값만 저장하므로 유용한 범위는 0 ~ 65,535 (2 ^ 16)-1)입니다. Due는 0에서 4,294,967,295 (2 ^ 32-1) 범위의 4 바이트 (32 비트) 값을 저장합니다.

예

Unsigned int counter = 60 ; // declaration of variable with 
   type unsigned int and initialize it with 60

워드

Uno 및 기타 ATMEGA 기반 보드에서 단어는 16 비트 부호없는 숫자를 저장합니다. Due 및 Zero에서는 32 비트 부호없는 숫자를 저장합니다.

예

word w = 1000 ;//declaration of variable with type word and initialize it with 1000

긴

Long 변수는 숫자 저장을위한 확장 된 크기 변수이며 -2,147,483,648에서 2,147,483,647까지 32 비트 (4 바이트)를 저장합니다.

예

Long velocity = 102346 ;//declaration of variable with type Long and initialize it with 102346

부호없는 긴

부호없는 long 변수는 숫자 저장을위한 확장 크기 변수이며 32 비트 (4 바이트)를 저장합니다. 표준 long과 달리 부호없는 long은 음수를 저장하지 않으며 범위는 0에서 4,294,967,295 (2 ^ 32-1)입니다.

예

Unsigned Long velocity = 101006 ;// declaration of variable with 
   type Unsigned Long and initialize it with 101006

짧은

short는 16 비트 데이터 유형입니다. 모든 Arduino (ATMega 및 ARM 기반)에서 short는 16 비트 (2 바이트) 값을 저장합니다. 이는 -32,768에서 32,767의 범위를 산출합니다 (최소값 -2 ^ 15 및 최대 값 (2 ^ 15)-1).

예

short val = 13 ;//declaration of variable with type short and initialize it with 13

흙손

부동 소수점 숫자의 데이터 유형은 소수점이있는 숫자입니다. 부동 소수점 숫자는 정수보다 해상도가 더 크기 때문에 아날로그 및 연속 값을 근사화하는 데 자주 사용됩니다.

부동 소수점 숫자는 최대 3.4028235E + 38, 최저 -3.4028235E + 38 일 수 있습니다. 32 비트 (4 바이트) 정보로 저장됩니다.

예

float num = 1.352;//declaration of variable with type float and initialize it with 1.352

더블

Uno 및 기타 ATMEGA 기반 보드에서 배정 밀도 부동 소수점 숫자는 4 바이트를 차지합니다. 즉, double 구현은 정밀도가 향상되지 않고 float와 정확히 동일합니다. Arduino Due에서 double은 8 바이트 (64 비트) 정밀도를 갖습니다.

예

double num = 45.352 ;// declaration of variable with type double and initialize it with 45.352