|
2006/12/23(Sat) 13:03:29|NO.4349
早い回答で本当に有難うございました。とにかく回答を元に色々と試した結果
取りあえずは問題は解決することが出来ました。有難うございました。
下は解決方法の報告です。
まずファイル内に入ってるデータの中身は全てわかっているものを使ったので、
バイナリエディタの見方では無いと思いますが、やはり見間違い等もあると思い
再確認したのですが見方は間違いは無いようでした。
リトルエンディアン環境と言うものを知らなかったので、色々調べてみましたが、
私の頭では結局、格納時にひっくり返る程度しか理解できませんでした。
やはり、頭の悪さは小さな確認で補うしかと思いまして、
とにかくsdimを使用してpeekで1バイトづつ確認したところ、ファイルの順番通りに
読み出していることは確認できました。
そこでメモリー上だけのことかと思い
---------------------------
bload "001.dat",i,2,18
i++
mes i
mes strf("10進[%d]",i)
mes strf("16進[%x]",i)
---------------------------
として試したのですが、結果は「8196」「0x2004」とひっくり返った値に
1足された結果になってしまいましたので、
---------------------------
sdim ii,2
bload "001.dat",ii,2,18
i_1=peek(ii,0)
i=i_1
i<<8
i_1=peek(ii,1)
i|i_1
i++
mes i
mes strf("10進[%d]",i)
mes strf("16進[%x]",i)
---------------------------
として確認したところ「801」「0x321」と、入っているはずの値に
ちゃんと1足された値になりました。
とりあえず、この方法を使用しようと思います。
気になって同じファイルで2文字以上並んで文字の入っている部分で確認してみると
sdimを使用して2バイト読み込んで表示するとちゃんと入っている文字の順で
表示されて、質問したような単純な数値として試すとひっくり返った値になりました。
どうも私の頭では納得できないのですが「こういうものだ」と思うことにします。
本当に有難うございました。
|