日常の戯言とかなんとか

スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。
-------- : スポンサー広告 :
Pagetop

varとfvarの相互変換

http://kyoakumugenirc.blog61.fc2.com/blog-entry-2748.html

という懐かしい話題が出てたので生存報告がてら解説おば
もう3ヶ月前の話なのは置いといて

これはvarとfvarがどんな形式で数字を保存しているかということに付きます
varは整数型といい数値がそのまま入っていますので特に説明する必要はないと思います
一方fvarは浮動小数点型といい、簡単に言うならX=n*2^mという形式で保存されています
例を挙げるとvarで25という数値を表現する場合は25、fvarで25という数値を表現する場合1.5625*2^4となっています
同じ25でも変数の中は全く別物と言えます

余談ですがdisplaytoclipboardで使う「%d」と「%f」はそれぞれ「指定された数値を整数型として表示する」「指定された数値を浮動小数点型として表示する」という意味です
%dと%fを間違えると表示がめちゃくちゃになるのはこれが原因です

本題に戻ると、var(60):=25と記述するとvar(59)の次の領域にあるであろうvar(60)の領域に「整数型の25」を書き込みます
この結果、var(60)の領域は本来はfvar(0)に相当するのでfvar(0)に「整数型の25」が書き込まれます
この「整数型の25」は浮動小数点型として解釈するとでたらめな数値になりますが後述の方法で整数型として解釈できるようになるので、fvarに「整数型の25」を保存してvarの代わりに使うことができます

一方、fvar(40):=25.0と記述すると、fvar(39)の次の領域にあるであろうfvar(40)の領域に「浮動小数点型の25.0」を書き込みます
しかし実際のfvar(39)の次の領域はsysvar(0)なので、sysvar(0)に「浮動小数点型の25.0」が書き込まれます
これまた同様に前述のvar(60):=sysvar(0)とすれば再び浮動小数点型として解釈することができるのでvarに「浮動小数点型の25.0」を保存してfvarの代わりに使うことができます


まあプログラミングとかかじってない人だとちょいと理解するのが難しいと思うけどこれを使いたい人はがんばってちょ
あと私が言ったこと=親捏造前提ってわけじゃないからそこんとこよろしく
自分が色々やったことは親捏造なくても応用できるところがたくさんあると思うのよ
スポンサーサイト
2014-11-30 : MUGEN : コメント : 0 : トラックバック : 0
Pagetop
ホーム

プロフィール

@ひたち

Author:@ひたち
「@」を忘れるべからず
読みは普通に「ひたち」でいいんじゃないの

検索フォーム

アクセスカウンター

上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。