プレイ日記
Hayato★ onigiri2015
乱数の限度が 2148483647ということが判明。 中途半端な数字だなぁ・・・
8そうだね
プレイ済み
返信[1]
親投稿
だにえる haru2016nen
2進数なんだなぁ
4そうだね
プレイ済み
返信[2]
親投稿
だにえる haru2016nen
2^31
4そうだね
プレイ済み
返信[3]
親投稿
ツララ LongIceSword
流石に2の31乗の数までは覚えていなくても、グラフィック画面の範囲限界の512(2の9乗)や、昔のゲームでよく見るカンスト値の65536(2の16乗)はピンとくる人多いかもですよね。 限界の仕組みが分かったのなら、その限界値を越えた幅で乱数を返す自作RND()関数を作ってみるのに挑戦してみたら面白いかも。
3そうだね
プレイ済み
返信[4]
親投稿
おちゃめ ochame_nako
これはプチコン3号のRND関数は引数も戻り値も整数型として処理されるためです。(小数値を引数に設定しても自動的に切り捨てられる) プチコン3号の整数型で扱える範囲は-2147483648から2147483647ですが負数はOut of rangeとして処理されているため引数は実質0~2147483647となります。 すると必然的に戻り値は0~2147483646となります。プチコン3号のRND関数では2147483647という整数型の上限値は発生しないのです。 あと単なる整数値ではなく整数型になっているという点においても注意すべきです。 DEFを使った自作命令でTEST RND(400),RND(240)みたいに引数にRND関数を使うとその引数に使った変数は整数型変数となるため変数の使い回しをする際には問題が発生する可能性があります。
3そうだね
プレイ済み