HSPポータル
サイトマップ お問い合わせ


HSPTV!掲示板


未解決 解決 停止 削除要請

2013
1213
mslpokeについて3解決


ms

リンク

2013/12/13(Fri) 05:52:26|NO.58702

こんにちは。
inputで整数を入力後、16進数のバイナリで4バイト保存するプログラムを作っています。

dim bin,1 a= 1000000 input a button "save", *save stop *save mes "16進数に変換: "+strf("%08X", a) lpoke bin, 0, a bsave "test",bin,-1 stop

1000000を16進数に変換した値が
00 0F 42 40
になります。

しかし保存後のファイルをバイナリエディタで開くと
40 42 0F 00
のようにアドレスが逆になっています。

保存後も00 0F 42 40といった形にしたいのですが、どうすれば良いのでしょうか?



この記事に返信する


KA

リンク

2013/12/13(Fri) 08:42:40|NO.58703

OSの仕様として逆順に成っていますが、そのバイナリエディタに数値表示機能が
有れば、正しい数値で表示されていると思います。

どうしても入れ替えたいのなら peek poke で1バイト単位で入れ替えましょう。



(’’

リンク

2013/12/13(Fri) 11:57:34|NO.58704

その仕様はリトルエンディアンと言って、変数の基本仕様です。
読み取り時も普通に戻るのでわざわざ気にして逆にする必要は無いです。

どうしても逆にしたい場合は、KAさんのようにpokeで逆にするしかありません。


細かいかもしれませんが
>>のようにアドレスが逆になっています。
アドレスはメモリの番地の事です



ms

リンク

2013/12/13(Fri) 16:12:26|NO.58707

バイナリエディタで確認したところ違う数値が表示されてしまいました..

検索したところ、こちらのモジュールで解決しました。
http://blogs.yahoo.co.jp/kerupani/13108969.html



ONION software Copyright 1997-2023(c) All rights reserved.