Allora, vediamo un po'. Mi sembra che non parli di traduzione di file da un formato a un altro ma di "traduzioni" di numeri da un formato a un altro (dal floating point di IEEE a quello di Microsoft Basic).
Il linguaggio è C++.

La prima funzione riceve 2 argomenti ( 2 puntatori a float, src e dst, un puntatore è una variabile che contiene un indirizzo di memoria) e restituisce un intero (int fiee(....).
Poi viene dichiarata una union (una locazione di memoria condivisa da due o più variabili diverse) chiamata c. Per accedere ai dati di una union si usa la sintassi c.a (in questo caso ad esempio c'è l'istruzione successiva c.a=*src).

if(c.b) = viene eseguito il codice nella parentesi graffa successiva se c.b è vero, cioè se è diverso da 0.

Poi c'è scritto >> che non fa parte della sintassi C o C++.
Ipotizzo che il codice sia stato preso da una pagina HTML(XML, insomma da Web e quindi >> viene tradotto in >> che in C++ rappresenta l'operatore di shift per i bit. In questo caso è l'operatore di shift a destra che fa spostare di un posto a destra tutti i bit della variabile mettendo uno 0 sulla sinistra).

La stessa traduzione viene effettuata per &amp; ( tradotto in &, l'operatore AND bit per bit in C++), per &lt;&lt; tradotto in << (shift a sinistra)

La barra | indica l'operatore OR: l'istruzione
man |= exp;
è una forma contratta di man = (man | exp).
I numeri tipo 0x8000 sono scritti in esadecimale.
Il simbolo != sta per diverso ( <> in VB )
Passare il puntatore di una variabile a una funzione in C++ si può paragonare a passarla by ref in VB.
Scrivere (long)man significa fare un cast di man, che er un u_short e il suo valore viene convertito in long (il clng(variabile) di VB).

Tutto il codice compreso tra i simboli /* e */ è commento ( se il commento è su una linea può essere preceduto da //.

Con un po' di tempo è traduciblissimo in VB.
.................................



ciao.