#include "realcnvt.h" /* converts QB 8-byte real to IEEE 8-byte real */ double basdbletodouble(basdble OldNum) { IEEEdouble NewNum; char Sign; int Exp; int X; Sign = OldNum[6] & 0x80; Exp = OldNum[7] - 0x81 + 0x3FF; NewNum.byte[6] = (Exp << 4); NewNum.byte[7] = (Exp >> 4) | Sign; for(X = 6; X > 0; X--) { OldNum[X] <<= 1; OldNum[X] |= OldNum[X-1] >> 7; } OldNum[0] <<= 1; for(X = 6; X >= 2; X--) { NewNum.byte[X] |= OldNum[X] >> 4; NewNum.byte[X-1] = OldNum[X] << 4; } return(NewNum.value); }