Non ti era stato detto di usare la memcpy ?
Tutto il resto, sul formato macchina ecc., non ha senso ... il valore è inviato in binario e lo devi copiare su una variabile tramite una memcpy, ottenendo automaticamente il valore leggibile. Nessuna conversione in nessun senso.

Questo programma è veramente ostico per te e la causa è la mancanza di una preparazione di base sul linguaggio.