西宁工程建设招聘信息网站,论坛用wordpress,留言板 wordpress,发稿计划IEEE754标准转换QT代码 qtcreator使用的ieee754标准的4字节数组与浮点数之间的转换方法#xff0c;ieee754的4位数组如果转换成二进制后#xff0c;大体结构是#xff1a;
位序号12-910-32意义 符号位#xff0c; 正数为0#xff0c;负数为1. 指数位#xff0c; 指数是… IEEE754标准转换QT代码 qtcreator使用的ieee754标准的4字节数组与浮点数之间的转换方法ieee754的4位数组如果转换成二进制后大体结构是
位序号12-910-32意义 符号位 正数为0负数为1. 指数位 指数是2进制的指数其中127代表指数0可以表示指数范围±127. 小数部分 后面10位到32位代表有效数字的小数部分xxxxxx实际有效值就是1.xxxxxx在作用相应指数。 QT转换代码
class IEEE754 //ieee754标准四字节数值与浮点数相互转换
{
public:static double toFloat(QString list) //数组转浮点数{ listlist.replace( ,);if(list.length()!8) { return 0;}bool ok;long sign list.left(1).toLong(ok,16)3;long Zsh(list.left(3).toLong(ok,16) 0x7F8)3;long Wshlist.right(6).toLong(ok,16)0x800000;double renpow(-1,sign)*double(Wsh)*pow(2,(Zsh-150));return ren;// return QString::number(ren,f,2 );}static QString toList(double value) //浮点数转数组{ int sign;QString S;double v;if((value)0){return 00000000 ; }else if((value)0){sign0;vvalue; } else {sign1;v-value;}long zhishu0;long weishu0;if(v1){ while(v1){vv*2;zhishu--; } }else { while(v2){vv/2;zhishu; }zhishu zhishu 127;vv-1;weishuv*pow(2,23);weishuweishu(zhishu%2)*0x800000;zhishuzhishu/2sign*0x80;SQString::number(zhishu,16)QString::number(weishu,16);}return S.toUpper();}
};