したらばTOP ■掲示板に戻る■ 全部 1-100 最新50 | |
レス数が1スレッドの最大レス数(1000件)を超えています。残念ながら投稿することができません。

おちゃめくらぶ掲示板

1549御茶目菜子:2013/05/01(水) 23:56:51
レスにょ
ももたさんへ
>「PC-E500のBASICを使っていて」と書かれていたので
>プチコンの質問をしていいものか迷いました。

これはプチコン関係で質問する人は少ないし、こちらの掲示板で質問をすることに関して
特に問題があるわけではないので注意部分を書き換えてなかったためにょ。
先日も書いたように質問や技術系の有益な情報は投稿数の少なく情報密度の高い質問掲示板の
方がベターという私の個人的な判断によるものにょ。
まぁサイト内検索をすればこのメイン掲示板も検索できるようになり、そこまで厳格に
行っているわけではないのでどちらでも構わないにょ。
http://ww5.tiki.ne.jp/~ochame/ochamewords.htm

>1つの数値型変数につき、32bitの情報を記録したいと思った時に、
>たとえば「A=&H7FFFF」と「A=&HFFF/4096」は
>それぞれ思ったとおりの動作をするようですが、
>まとめて「A=&H7FFFF + &HFFF/4096」とすることができません。

これはプチコンにおいては&H7FFFFFFFに相当する数を代入は可能だけど演算によってこの値に
なるとOverflowと判定されているためにょ。
したがって、私が作った32bit変換ルーチンは代入だけできればいいため&HFFFFFF相当の数を
扱うことができるけど逆変換ルーチンにおいてはこのプチコンの仕様の問題で&HFFFFFFE相当の
数までしか扱うことができないにょ。
正数においてはこのように&H7FFFFFE(=2147483646)相当までとなっているけど負数に
おいては&H80000001(=-2147483647)相当の数まで扱うことができるにょ。
符号付き32bit整数は通常&H80000000(=-2147483648)〜&H7FFFFFF(=2147483647)までの
範囲を扱うことができるのだけどプチコンでは&H80000000は「-0」を示し本来は想定されて
いない数なので正数、負数も演算範囲が1ずつ小さくなっていると推測されるにょ。

>小数を含む結果を返す関数に、答えがちょうど&H7FFFFFFFに
>なるように引数を与えて、なんとか回避できたり...ないかな

この方法を使えば本来は&H7FFFFFE相当の数までしか扱えない32bit整数逆変換ルーチンも
&H7FFFFFFFに相当する数を扱うことが可能になるにょ。
具体的にはサブルーチンの先頭行に次の1行を加えるだけでいいにょ。

IF INT$=="2147483647"THEN INT=524287.9999:RETURN

ただし、この逆変換ルーチンにおいてはリストを短縮するため負数は符号を取り除いて演算
している関係上、本来ならば演算可能範囲内である-2147483647も扱うことができないにょ。
そのため-2147483647かどうかの判定も別途必要となるにょ。
絶対値がちょうど2147483647になる値を使用する頻度は高くないと判断したため有効範囲が
1小さくなる現在の仕様となっているにょ。




掲示板管理者へ連絡 無料レンタル掲示板