-
大小: 3KB文件類型: .cpp金幣: 1下載: 0 次發(fā)布日期: 2021-06-08
- 語言: C/C++
- 標(biāo)簽:
資源簡(jiǎn)介
此代碼適用于sgy學(xué)習(xí)的人,里面記錄如何讀取數(shù)據(jù),并將其寫成.txt
代碼片段和文件信息
#include?“stdio.h“
#include?“stdlib.h“
#include?
#include?“math.h“
#include?
#include
#define?ulong?unsigned?long
union?Data{float?a;?char?dat[4];};
union?SI{unsigned?short?a;?char?s[2];};
union?SP{unsigned?short?i;?char?s[2];};
/*float?Ibm2decimal(char?dat[])???//IBM浮點(diǎn)數(shù)轉(zhuǎn)換
{??
?????ulong?DataUint32;??
?char?*p=NULL;
?????char?ch=dat[0];?????//高低位轉(zhuǎn)換開始
?dat[0]=dat[3];
?dat[3]=ch;
??ch=dat[1];
??dat[1]=dat[2];
??dat[2]=ch;????????//高低位轉(zhuǎn)換結(jié)束
??p=(char*)(&DataUint32);
??p[0]=dat[0];
??p[1]=dat[1];
??p[2]=dat[2];
??p[3]=dat[3];
?????????//?gain?sign?from?first?bit?
?????double???sign?=?(double?)(?DataUint32?>>31)?;?????
?????//?gain?exponent?from?first?byte?last?7?bits
?????double???exp0?=?(double)?(?(???DataUint32?&0x7f000000?)???>>24)?;
????????//?remove?bias?from?exponent??
?????double???exp?=(double???)(exp0???-?64?)???;??
?????//?gain?mantissa?from?last?3?bytes?
?????double?frac?=?(?double?)(?DataUint32?&0x00ffffff???)?;
?????double?fmant?=?frac/?(pow(2?24)?)?;
?????float???result?=?(?1-2*sign)*(?pow(?16?exp)?)?*fmant;
//?printf(“IEEE?is:%f\n“?result);
?return?result;
}
*/
main()
{
???int?Tn;
???int?i;
???int?j;
???int?k;
???char?ch;
?//??float?dat;
???union?SI?si;//采樣點(diǎn)數(shù)
???union?SP?sp;//定義采樣
評(píng)論
共有 條評(píng)論