이게 계속 생각하다 보니까 결국은 long double 안쓰고 double 두개 더한 값을 오버플로우없이 보존하는건데
long int 이런거에다가 memcopy해서 double 값을 집어넣는걸 생각중인데 

long int a,lint1,lin2;
double op1,op2;
memcopy(&lint1,&op1,sizeof(double));
memcopy(&lint2,&op2,sizeof(double));
a=lint1+lint2;

하면 어떻게됨? 비트들이 정수표현형으로 다 바뀔거같은데

a=(double)lint1+(double)lint2;
이렇게하면 되나?