Diferencia entre revisiones de «byte»

De ArduWiki
Saltar a: navegación, buscar
(Descripción)
(Comentarios)
 
(No se muestra una edición intermedia del mismo usuario)
Línea 29: Línea 29:
  
 
== Comentarios ==
 
== Comentarios ==
* '''unsigned char''' es lo mismo que '''byte''' y se prefiere este ultimo.
+
* '''unsigned char''' o '''uint8_t''' es lo mismo que '''byte''' y se prefiere este ultimo.
* La variable del tipo byte almacenan numero entre 0 y 255 osea 256 números. Ahora te pregunto cuanto es 0 - 1 ? en nuestro ejemplo la respuesta correcta es 255 porque es el numero que esta antes de 0. Exactamente por el otro extremo el numero que sigue de 255 es 0. A esto se le llama lógica boleana. Ahora supongamos que quieres prende un foco por 10 números e inicias el proceso en 22, por lo que preguntas if (números - tiempo = 10), se apagaría cuando números llegue a 32 (32 - 22 = 10). Ahora supón que se prende en 250, cuando apagara ? la respuesta es cuando números llegue a 5 (5 - 255 = 10).
+
* La variable del tipo '''byte''' almacenan numero entre 0 y 255 osea 256 números. Ahora te pregunto cuanto es 0 - 1 ? en nuestro ejemplo la respuesta correcta es 255 porque es el numero que esta antes de 0. Exactamente por el otro extremo el numero que sigue de 255 es 0. A esto se le llama lógica boleana. Ahora supongamos que quieres prende un foco por 10 números e inicias el proceso en 22, por lo que preguntas if (números - tiempo = 10), se apagaría cuando números llegue a 32 (32 - 22 = 10). Ahora supón que se prende en 250, cuando apagara ? la respuesta es cuando números llegue a 5 (5 - 250 = 10).
  
 
== Advertencias ==
 
== Advertencias ==

Revisión actual del 16:41 24 ene 2020

Descripción

Un byte almacena un número sin signo de un byte (8 bits), de 0 a 255 (2^8 - 1). Alternativamente puede verse declarado como tipo uint8_t o unsigned char, sin embargo funciona exactamente igual.

Tip: Es importante tener en mente que un numero del tipo byte puede contener hasta 8 valores 0/1 (que es sinonimo de verdadero/falso) empacados en un solo byte y que se puede operar con ellos con operadores bit a bit y funciones internas de bits y byte.


Sintaxis

byte variable [= valor]; 
uint8_t variable [= valor]; 
unsigned char variable [= valor]; 

Parametros

variable
nombre de la variable.
valor
valor entre 0~255. Parámetro opcional.
Posibles formateadores
Base Prefijo Comentario Ejemplo
DEC ninguno Dígitos 0~9 123
HEX 0x dígitos 0~9 + Caracteres A~F 0x7B
OCT 0 digitos 0~7 0173
BIN B 0 o 1 B1111011

Comentarios

  • unsigned char o uint8_t es lo mismo que byte y se prefiere este ultimo.
  • La variable del tipo byte almacenan numero entre 0 y 255 osea 256 números. Ahora te pregunto cuanto es 0 - 1 ? en nuestro ejemplo la respuesta correcta es 255 porque es el numero que esta antes de 0. Exactamente por el otro extremo el numero que sigue de 255 es 0. A esto se le llama lógica boleana. Ahora supongamos que quieres prende un foco por 10 números e inicias el proceso en 22, por lo que preguntas if (números - tiempo = 10), se apagaría cuando números llegue a 32 (32 - 22 = 10). Ahora supón que se prende en 250, cuando apagara ? la respuesta es cuando números llegue a 5 (5 - 250 = 10).

Advertencias

  • Si sumas 1 al valor máximo que de 255 pasa a 0.
  • Si restas 1 al valor mínimo que de 0 pasa a 255.
byte a = 255;
a++;   //a es 0 
byte b = 0;
b--;   //b es 255

Ejemplos 1

byte n = 'A';
byte n = 65;         //Valor ASCII de letra A
uint8_t n = 65;
byte x = 0x41;       //0x = formato hexadecimal, 65
byte x = 0101;       //0 = formato octal, 65
byte x = B1000001;   //B = formato binario, 65

Ejemplo 2

byte x, y, z = 12;         //Error, x e y están declaradas pero no inicializadas.
byte x = 12,y = 12,z = 12; //Ok

Ejemplo 3

En este ejemplo hacemos la variable byte igual a un caracter.

void setup() {
   Serial.begin(115000);
   Serial.println("Letras mayusculas:");
   for (char c='A'; c<='Z'; c++){
      Serial.write(c);            //Imprime el carácter
      Serial.print(", dec: ");
      Serial.println(c);          //Imprime su valor ASCII decimal
      delay(100);
   }
}
void loop() {
   //Nada
}

Vea también

  bool
  byte
  char
  int
  long
  void
  word


Referencias