Como ler conjunto de bytes tipo real escritos em big endian

Pessoal, boa tarde!

Gostaria de saber como faço para ler um conjunto de 4 bytes em real de um determinado arquivo escrito em big endiam.

nesse trecho abaixo eu leio um conjunto de 2 bytes inteiros. Entretanto gostaria de ler 4 bytes em float.

Ex:

short int int2 ;

arq=fopen(“teste”,“r+b”);

fread (&int2,2,1,arq);
int2=(int2 << 8 ) | ((int2 >> 8 ) & 0xFF);

printf("%d\n",int2);