トピック
スピーカー A7GSM51L347

DEF命令についての質問

奇数か偶数か求める命令なのですが、これだと変数でないと戻り値が0にしかならないんですが、何故でしょうか?
2そうだね
プレイ済み
返信[1]
親投稿
say sayer.exe
変数 mod 2 って手がありますね 奇数なら1で偶数なら0
0そうだね
プレイ済み
返信[2]
親投稿
ケイン KEIN.HORGAN
sayさんの対応が一番スマートですが... 原因についてはデータ型の問題です。数値を直接引数に指定した場合、整数型になってしまいます。 回避する場合、倍精度実数型を明示する事で可能です。 具体的には、変数に#をつけます。 添付画像を参考にして下さい。
0そうだね
プレイ済み
返信[3]
親投稿
say sayer.exe
ちょっと気になったんですが、 奇数偶数って小数の場合はどうなるんでしょう? まともな教育を受けてないからわからんですたいorz
0そうだね
プレイ済み
返信[4]
親投稿
スピーカー A7GSM51L347
どちらも回答ありがとうございます。 参考になりました。 確かに小数の時ってどうなるんだろう…奇数でも偶数でもない、とか?
0そうだね
プレイ済み
返信[5]
親投稿
say sayer.exe
試したところ、「整数部分しか判定されない」みたいです つまり 2.1=偶数 3.2=奇数 こんな感じ 自分の知ってる余り算も怪しくなってきました
0そうだね
プレイ済み
返信[6]
親投稿
おちゃめ ochame_nako
偶数とは2で割り切れない「整数」、奇数とは2で割り切れない「整数」を意味します。 したがって、小数は「偶数でも奇数でもない数」になります。 ただし、その数の整数部分が偶数か奇数かというのを調べたいならばすでに皆さんが書かれている方法で問題ありません。 プチコン3号ではFLOORを使わなくてもMODやANDを使えば自動的に整数化が行われるため簡単に求められます。
0そうだね
プレイ済み
返信[7]
親投稿
ΖΕΧ ZEX256
?1.1 AND 1 1 ?0.1 AND 1 0 OK
0そうだね
プレイ済み
返信[8]
親投稿
スピーカー A7GSM51L347
皆さん回答ありがとうございました。
0そうだね
プレイ済み