kibayasiの日記: 宛 コメントくれた方々 4
日記 by
kibayasi
すいません、言葉足り無すぎでした。m(__)m
えっと、バイナリファイルがあります。
これは、BigEndianで書いてあります。
テストしてるので、
floatで、1.1とかいうぐらいしか、writeしてないです。
それを、読み込みたいわけです。
今わかっていることは、
IEEE単精度記憶形式は、23bitの小数部fと8bitの指数eと1bitの符号sから構成されていて、
0:22がf
23:30がe
31がs
って、ことで、
0<e<255 なら (-1)**(s) * 2**(e-127)*1.f
とかかなーってことです。
PCの場合って、byte単位の反転でいいのかしら?
bit単位のような気もするが。。はて。。
難しい事考えんと (スコア:1)
みたいにしてから、下の日記のエンディアン変換プログラムを通せばいいんではないかと。
Re:難しい事考えんと (スコア:1)
ただなんかVAX Endianは3210ではなく2301だったかもしれないので、その辺も考えると、
float convertEndian(union FI *fi)
{
char a,b,c,d;
a = fi->c[0];
b = fi->c[1];
c = fi->c[2];
d = fi->c[3];
fi->c[0] = c; // d
fi->c[1] = d; // c
fi->c[2] = a; // b
fi->c[3] = b; // a
return fi->f;
}
<P>
かもしれません。
なお先ほどの書き込みは下書き無しだったので予想通り間違ってました。ょゎ
-- Takehiro TOMINAGA // may the source be with you!
Re:難しい事考えんと (スコア:1)
今後ともよろしゅう。(w
あっしも、コピペでがんばります。(ダメダメ星人ですんまそん)
Re:難しい事考えんと (スコア:1)
今後ともよろしゅう。(w