Арифметический битовый сдвиг типа данных двойной переменной в C

Я пытаюсь арифметически сдвинуть бит двойного типа данных в C. Мне было интересно, если это правильный способ сделать это:

ПРИМЕЧАНИЕ: firdelay [] [] объявлен в main как double firdelay [8] [12]

void function1(double firdelay[][12]) {
    int * shiftptr;

    // Cast address of element of 2D matrix (type double) to integer pointer
    *shiftptr = (int *) (&firdelay[0][5]); 

    // Dereference integer pointer and shift right by 12 bits
    *shiftptr >>= 12; 
}
6
задан Veridian 10 August 2011 в 18:11
поделиться