変数の最上位 32 ビット ワードを取得したいと考えていdouble
ます。
a の長さが 8 バイトであることはわかっており、関数の戻り値として、double の最上位 4 バイトを保持するdouble
an を期待しています。unsigned long
unsigned long doublesmsw(double value);
int main()
{
double d=54645654663905 ;
unsigned long fin=doublesmsw(d);
printf("%lu", fin );
return 0;
}
unsigned long doublesmsw(double value)
{
unsigned long long mask=0x00000000ffffffff ;
return ((unsigned long long) value>>32 & mask);
}