обана... не представляю бытовую жизнь без указателей
можно так:
#define N1 16
#define N2 (N1>>2);
BYTE Aby[N1];
double Adb[N2];
DWORD Adwd[N2];
//"переводим" из байтов в четырёхбайтные
DWORD i,count=0;
for(i=0;i<N1;i+=4)
{
//для дворда
Adwd[count]=(Abi[i]) | (Abi[i+1]<<8) | (Abi[i+2]<<16) | (Abi[i+3]<<24)
//для double - не знаю :) (см. ниже)
}
для дабл - без указателей никак...
можно было бы так: дворд собрали, а потом интерпретировать каждый дворд как дабл:
//double == *( (double*) (&DWORD) );
double D0 = *( (double*) (& (Adwd[0]) ) );
double D1 = *( (double*) (& (Adwd[1]) ) );
может и так прокатит (хотя сильно совнемаюсь):
double D2 = ( (double) Adwd[2] );