intN_t ??? what is ----

buenas , quiseran que me digan como se usan estos tipos de datos.
he buscado por la wed, he inccontrado poco y nada.

como se operan entren diferentes tipos de estos ?

he visto que usa estos operadores >> << , pero cuando lo imprimo me tira en blanco

uint8_t s=5;
uint8_t f=7;
uint8_t r=0;
uint8_t r2=0;
void setup() {
 Serial.begin(9600);
}

void loop() {
  
  
  r = s+f;
  r = r<<8;
  r2= s+f;
  r2 = r2>>8;
   Serial.print("#");
  Serial.print(r);
   Serial.print("#");
  Serial.println(r2);
  
}

Hola,
no entiendo muy bien la pregunta: si te refieres a operaciones de desplazamiento de bits, busca en Google operaciones a nivel de bits o bitwise operators y tendrás toda la documentación que quieras.

uint8_t es un tipo de datos, en arduino se utiliza byte, que es una "redenominación" de ese tipo (mira en el fichero arduino.h).

En cuanto a las operaciones de desplazamiento de bits, esta vez no hace falta, ni siquiera, ir a buscar en google:

http://arduino.cc/en/Reference/HomePage (en la sección bitwise operators)

que diferencia hay para trabajar con un Tipo de dato int con int8_t, ???..no veo la diferencia

he visto que para hacer operaciones entres tipos de datos fijos, ejemplo int8_t , y un int16_t, hay que escalar
a un misma escala. como se hace eso ???

uint8_t es un tipo de datos, en arduino se utiliza byte, que es una "redenominación" de ese tipo (mira en el fichero arduino.h).

no encontre ese archivo

creo que un int, amacena 2 byte. y el int8_t amacena la 1 byte. es decir ahorran espacio.
pero.... para hacer operaciones entre ellos como hago ??

Como ya te he dicho, los tipos byte e unsigned int son "redenominaciones", es decir, son los mismos que los tipos uint8_t y uint16_t. Por lo tanto, puedes hacer operaciones directamente entre tipos byte y uint8_t.

typedef uint8_t boolean;
typedef uint8_t byte;

El archivo está en : Arduino-1.0.1\hardware\arduino\cores\arduino\Arduino.h

Omnicoptero:
creo que un int, amacena 2 byte. y el int8_t amacena la 1 byte. es decir ahorran espacio.

uint8_t no te ahorra espacio, realmente estás trabajando con valores de 8 bits, es decir con valores de 0 a 255, mientras que con (unsigned) int trabajas con valores de 16 bits (de 0 a 65535).

Omnicoptero:
he visto que para hacer operaciones entres tipos de datos fijos, ejemplo int8_t , y un int16_t, hay que escalar
a un misma escala. como se hace eso ???

¿A qué te refieres con "escalar"? Entre valores uint8_t y uint16_t se trabaja igual que entre byte e int

"Escalar".....me refiero , por ejemplo haciendo una anologia, si tengo 2 metros y 20 centimetros, para poder operar
debo pasarlo a una misma unidad.

aqui si tengo int8_t y un int16_t, para poder operar debo "Escalar", ¡¡?'¡como ??

int8_t es una caja en la que caben 8 patatas e int16_t otra en la que caben 16 patatas, las dos guardan patatas, no tienes que convertir patatas a manzanas ni nada, opera entre ellos de forma normal y ya está.

¿Como hacías hasta ahora para sumar un byte y un int?