Gdy kończy się zakres typu Int
Część sekcji Pierwsze obwody ścieżki Arduino w Coddy. Lekcja 12 z 22.
Zmienna jest przechowywana w stałej liczbie bitów — maleńkich przełączników włączania i wyłączania w pamięci płytki. Na Uno typ int ma 16 bitów, więc może przechowywać tylko liczby od -32,768 do 32,767.
Jeśli przekroczysz górną granicę, liczba nie wzrośnie — zawinie się do dolnej granicy. 32,767 plus 1 daje -32,768. Nazywa się to przepełnieniem, a szkic nie wyświetla żadnego ostrzeżenia.
W przypadku większych liczb użyj typu z większą liczbą bitów:
long big = 100000; // -2,147,483,648 do 2,147,483,647
unsigned long huge = 3000000000; // 0 do 4,294,967,295Typ long ma 32 bity. Typ unsigned long ma 32 bity, ale nie może przechowywać liczb ujemnych, więc jego górna granica jest dwa razy wyższa — sprawdza się przy zliczaniu i mierzeniu czasu.
Typ long zajmuje dwa razy więcej pamięci niż int, a Uno ma tylko 2048 bajtów na zmienne, więc używaj int, gdy liczby pozostają małe.
Wyzwanie
ŚredniProgram początkowy dodaje 1000 do count dwadzieścia razy na sekundę. Naciśnij Uruchom i obserwuj, jak po 32,000 staje się ujemne.
- zmień typ
count, aby można było zliczać powyżej 100,000
Następnie Sprawdź.
Spróbuj swoich sił
int count = 0;
void setup() {
Serial.begin(9600);
}
void loop() {
count = count + 1000;
Serial.println(count);
delay(50);
}
Ta lekcja zawiera krótki quiz. Zacznij lekcję, żeby na niego odpowiedzieć i śledzić swoje postępy.
Wszystkie lekcje w sekcji Pierwsze obwody
2Rozmowa z komputerem
Witaj, Serial MonitorPrint a PrintlnWyświetlanie liczbTwoja pierwsza zmiennaOdliczanie w góręGdy kończy się zakres typu IntPoćwicz samodzielnie: Edytor online Arduino