У меня следующая проблема
У меня есть структура
typedef struct
{
Int16 real;
Int16 imag;
}sCplx16;
Int32 Data; //Data has real-imag packed into 32 bits. real-imag are 16 bits each.
Теперь я получаю Int32 Value вместе с Real-Imag, упакованным вместе. Я уже написал функцию, которая принимает аргумент sCplx16, и я не хочу делать его Int32, поскольку внутри функции будет множество изменений.
Чтобы избежать этого, я набрал переменную
Fun( (sCplx16)Data);
fun.c
Fun(sCplx16 DataPtr)
{
//
}
Inside the function, I find that value received are mapped correctly to
DataPtr.real and DataPtr.imag.
Is this typecasting correct? Someone told me that it will vary with compiler.
meaning imaginary will be first 16 bits and real will be next 16 bits.
Я думаю, что на это влияет только порядок байтов, а не компилятор
Пожалуйста, поделитесь своим мнением
Спасибо