Menu
CoddyTech

Saat int Kehabisan Kapasitas

Termasuk bagian Rangkaian Pertama dalam perjalanan Arduino di Coddy. Pelajaran 12 dari 22.

Sebuah variabel disimpan dalam jumlah bit yang tetap, yaitu sakelar kecil hidup/mati di memori board. Pada Uno, int memiliki 16 bit, jadi hanya dapat menyimpan angka dari -32,768 hingga 32,767.

Jika melewati batas atas, nilainya tidak bertambah: nilainya berputar kembali ke batas bawah. 32,767 ditambah 1 menjadi -32,768. Ini disebut overflow, dan sketch tidak memberikan peringatan.

Untuk angka yang lebih besar, gunakan tipe dengan bit lebih banyak:

long big = 100000;           // -2,147,483,648 hingga 2,147,483,647
unsigned long huge = 3000000000;  // 0 hingga 4,294,967,295

long memiliki 32 bit. unsigned long memiliki 32 bit, tetapi tidak dapat menyimpan angka negatif, jadi nilainya bisa mencapai dua kali lebih besar: cocok untuk hitungan dan waktu.

long menggunakan memori dua kali lebih banyak daripada int, sedangkan Uno hanya memiliki 2048 byte untuk variabel, jadi gunakan int jika angkanya tetap kecil.

challenge icon

Tantangan

Sedang

Kode awal menambahkan 1000 ke count dua puluh kali per detik. Tekan Run dan lihat nilainya menjadi negatif setelah 32,000.

  • ubah tipe count agar bisa menghitung melewati 100,000

Lalu tekan Check.

Coba sendiri

int count = 0;

void setup() {
  Serial.begin(9600);
}

void loop() {
  count = count + 1000;
  Serial.println(count);
  delay(50);
}
quiz iconUji dirimu

Pelajaran ini berisi kuis singkat. Mulai pelajarannya untuk menjawab kuis dan melacak progresmu.

Semua pelajaran di Rangkaian Pertama

Latihan sendiri: Playground Arduino