int의 한계
Coddy Arduino 여정의 첫 번째 회로 섹션에 포함된 레슨. 22개 중 12번째.
변수는 보드 메모리의 작은 켜짐/꺼짐 스위치인 비트를 고정된 개수만큼 사용해 저장됩니다. Uno에서 int는 16비트이므로 -32,768부터 32,767까지의 숫자만 담을 수 있습니다.
최댓값을 넘어서도 값이 커지지는 않습니다. 최솟값으로 돌아갑니다. 32,767에 1을 더하면 -32,768이 됩니다. 이를 오버플로라고 하며, 스케치에서는 경고를 표시하지 않습니다.
더 큰 숫자를 사용하려면 비트 수가 더 많은 자료형을 사용하세요:
long big = 100000; // -2,147,483,648부터 2,147,483,647까지
unsigned long huge = 3000000000; // 0부터 4,294,967,295까지long은 32비트입니다. unsigned long도 32비트이지만 음수를 표현하지 않으므로 두 배까지 큰 값을 나타낼 수 있습니다. 횟수와 시간에 적합합니다.
long은 int보다 메모리를 두 배 사용하며, Uno에는 변수에 사용할 수 있는 메모리가 2048바이트뿐이므로 숫자가 작게 유지될 때는 int를 사용하세요.
챌린지
중급시작 코드는 초당 20회 count에 1000을 더합니다. Run을 누르고 32,000을 넘은 뒤 음수가 되는지 확인하세요.
- 100,000을 넘어서도 셀 수 있도록
count의 형식을 변경하세요
그런 다음 Check를 누르세요.
직접 해보기
int count = 0;
void setup() {
Serial.begin(9600);
}
void loop() {
count = count + 1000;
Serial.println(count);
delay(50);
}
이 레슨에는 짧은 퀴즈가 포함되어 있습니다. 레슨을 시작해 문제를 풀고 진행 상황을 기록하세요.
첫 번째 회로의 모든 레슨
직접 연습해 보세요: Arduino 플레이그라운드