Спасибо за подсказки. Сделал просто пересчётом по формулt из IEEE 754
unsigned long int r1, r2; float r3; r1=((((unsigned int)dob[0]&0x7F)<<4)|doub[1]>>4); r2=(unsigned long int)doub[1]<<28|((unsigned long int)doub[2]<<20)|((unsigned long int)doub[3]<<12)|((unsigned long int)doub[4]<<4)|(doub[5]>>4); r3=pow(-1,doup[0]>>7)*pow(2,(r1-1023))*(1+r2/4294967296.0);
PS Компилятр CVAVR - long long там тоже не реализован. Но до этого момента и не нужно было.
|