type long a travers une liaison i2c

Bonsoir,
Voila, je voudrais envoyer une variable de type long (4 octets) a travers une liaison i2c qui ne transfert que de simples octets.
J'ai bien trouvé ça sur le net :

long val = 123;
int value;
memcpy((void*)&value, (const void*)&val, sizeof(int));

Mais je débute en C et je nage avec les pointeurs.
Comment récupérer mon long a l'autre bout ?

Et on ne peut pas le faire par une simple opération mathématique ?

C'est a dire ?

Imaginons que tu as à envoyer "1000101011", tu découpes en "10001" et "01011" et tu reconstitues à l'arrivée.

Oui en gros c'est ce que je cherche a faire mais j'aurais aimé trouver une manière efficace de le faire.
Admettons que je transfert un long puis un char puis un autre long, comment récupérer la bonne 'découpe' à la réception ?
Je ne suis surement pas le premier a rencontrer ce problème...

Avec quelques bitshift tu dois pouvoir t'en sortir :wink:

Si ça peut aider :

http://www.arduino.cc/cgi-bin/yabb2/YaBB.pl?num=1237119479

Ok je devrais pouvoir me dépatouiller avec tout ça...
Merci 8)