Diferencia entre revisiones de «int»

De ArduWiki
Saltar a: navegación, buscar
(Advertencias)
Línea 1: Línea 1:
 
== Descripción ==
 
== Descripción ==
 
Los '''int''' (enteros) son el tipo de datos primario para el almacenamiento de números.
 
Los '''int''' (enteros) son el tipo de datos primario para el almacenamiento de números.
En el Arduino Uno (y otras placa basadas en el ATMega) un '''int'' almacena un valor de 2 byte (16 bit). Esto produce un rango de -32,768 to 32,767 (valor mínimo de -2^15 y un valor máximo de (2^15) - 1).
 
  
En el Arduino Due, un '''int''' almacena un valor de 32-bit (4-byte). Esto produce un rango de -2,147,483,648 a 2,147,483,647 (valor mínimo de -2^31 y un valor máximo de (2^31) - 1).
+
En el Arduino [[UNO]] (y otras placa basadas en el ATMega) un '''int'' almacena un valor de 2 byte (16 bit). Esto produce un rango de -32,768 to 32,767 (valor mínimo de -2^15 y un valor máximo de (2^15) - 1).
 +
 
 +
En el Arduino [[DUE]], un '''int''' almacena un valor de 4 byte (32 bit). Esto produce un rango de -2,147,483,648 a 2,147,483,647 (valor mínimo de -2^31 y un valor máximo de (2^31) - 1).
  
 
Los '''int''' almacenan números negativos con una técnica llamada complemento matemático a 2. El bit más alto, a veces llamado bit de "signo" es la bandera que define el número como negativo. El resto de los bits se invierte y se les añade 1.
 
Los '''int''' almacenan números negativos con una técnica llamada complemento matemático a 2. El bit más alto, a veces llamado bit de "signo" es la bandera que define el número como negativo. El resto de los bits se invierte y se les añade 1.
Línea 9: Línea 10:
 
== Sintaxis ==
 
== Sintaxis ==
 
<pre>
 
<pre>
int variable = valor;
+
int variable [= valor];
 
</pre>
 
</pre>
  
Línea 16: Línea 17:
 
* Si sumas 1 al valor maximo que de 32,767 pasa a -32,768.
 
* Si sumas 1 al valor maximo que de 32,767 pasa a -32,768.
 
* Si restas 1 al valor minimo que de -32,768 pasa a 32,767.
 
* Si restas 1 al valor minimo que de -32,768 pasa a 32,767.
 +
<pre>
 +
int a = 35767;
 +
a++;            //-32,768
 +
int b = -31768;
 +
b--;              //32,767
 +
</pre>
  
 
== Ejemplo ==
 
== Ejemplo ==
 
<pre>
 
<pre>
 
int n = 1300;
 
int n = 1300;
int x = -31768;
 
x--;              //32,767
 
int n = 35767;
 
n++;            //-32,768
 
 
</pre>
 
</pre>
  

Revisión del 15:31 22 jun 2018

Descripción

Los int (enteros) son el tipo de datos primario para el almacenamiento de números.

En el Arduino UNO (y otras placa basadas en el ATMega) un 'int almacena un valor de 2 byte (16 bit). Esto produce un rango de -32,768 to 32,767 (valor mínimo de -2^15 y un valor máximo de (2^15) - 1).

En el Arduino DUE, un int almacena un valor de 4 byte (32 bit). Esto produce un rango de -2,147,483,648 a 2,147,483,647 (valor mínimo de -2^31 y un valor máximo de (2^31) - 1).

Los int almacenan números negativos con una técnica llamada complemento matemático a 2. El bit más alto, a veces llamado bit de "signo" es la bandera que define el número como negativo. El resto de los bits se invierte y se les añade 1.

Sintaxis

int variable [= valor];

Advertencias

  • El Arduino se encarga de tratar los número negativos por nosotros, por lo que las operaciones aritméticas trabajan de forma transparente de la manera esperada. Sin embargo, podemos encontrarnos con una complicación inesperada con el operador bitshift right (>>) (desplazamiento de bit a la derecha).
  • Si sumas 1 al valor maximo que de 32,767 pasa a -32,768.
  • Si restas 1 al valor minimo que de -32,768 pasa a 32,767.
int a = 35767;
a++;             //-32,768
int b = -31768;
b--;              //32,767

Ejemplo

int n = 1300;

Vea también

Referencias