Merhaba, yüksek ihtimalle gönderme kısmında float olarak gönderdiğinizi düşünüyorsunuz ama int olarak gidiyor. Kodunuzu görmeden yorum yapmam çok zor fakat örnek kodları paylaşabilirim, siz de kodunuzu bu örneklere göre düzenlersiniz.
Union yöntemi ile
Gönderim:
union myval {
float fl;
int8 bytes;
}
fl = 0.14;
putc(bytes);
putc(bytes);
putc(bytes);
putc(bytes);
Alım:
union myval {
float fl;
int8 bytes;
}
bytes = getc();
bytes = getc();
bytes = getc();
bytes = getc();
printf("%f", fl);
Pointer kullanarak
Gönderim:
int8 *fl_ptr;
float fl;
fl = 0.14;
fl_ptr = &fl;
putc(*fl_ptr++);
putc(*fl_ptr++);
putc(*fl_ptr++);
putc(*fl_ptr);
Alım
int8 *fl_ptr;
float fl;
fl_ptr = &fl;
*fl_ptr++ = getc();
*fl_ptr++ = getc();
*fl_ptr++ = getc();
*fl_ptr = getc();
printf("%f", fl);