Quando um Int chega ao limite
Parte da seção Primeiros circuitos do Journey de Arduino da Coddy. Lição 12 de 22.
Uma variável é armazenada em uma quantidade fixa de bits, pequenos interruptores de ligado/desligado na memória da placa. No Uno, um int tem 16 bits, então só pode armazenar números de -32,768 a 32,767.
Se ultrapassar o limite superior, o valor não aumenta: ele volta ao limite inferior. 32,767 mais 1 se torna -32,768. Isso é chamado de estouro, e o sketch não dá nenhum aviso.
Para números maiores, use um tipo com mais bits:
long big = 100000; // -2,147,483,648 a 2,147,483,647
unsigned long huge = 3000000000; // 0 a 4,294,967,295long tem 32 bits. unsigned long tem 32 bits, mas não pode representar números negativos, então pode chegar ao dobro: é bom para contagens e tempos.
Um long ocupa o dobro da memória de um int, e o Uno tem apenas 2048 bytes para variáveis, então use int quando os números forem pequenos.
Desafio
MédioO código inicial adiciona 1000 a count vinte vezes por segundo. Pressione Executar e observe quando ele fica negativo após 32.000.
- altere o tipo de
countpara que ele possa contar além de 100.000
Em seguida, Verificar.
Experimente você mesmo
int count = 0;
void setup() {
Serial.begin(9600);
}
void loop() {
count = count + 1000;
Serial.println(count);
delay(50);
}
Esta lição inclui um quiz rápido. Comece a lição para respondê-lo e acompanhar seu progresso.
Todas as lições de Primeiros circuitos
2Conversando com o seu computador
Olá, Monitor SerialPrint versus PrintlnExibindo númerosSua primeira variávelContando para cimaQuando um Int chega ao limitePratique por conta própria: Playground de Arduino