投稿
reji Satoshi.1103
質問です。IF分でたまに==等ではなく  IF (○○ AND ○○) THEN ~  というのを見かけるのですが、何が違うのでしょうか…?回答お願い致します…
2そうだね
プレイ済み
返信[1]
親投稿
あっくん asatarosu
左の数字と右の数字を2進数にしてどちらの数字も1になっている位を1にして他は0にします。自分は初心者なのでボタンのときはANDを使うぐらいに思ってます。
1そうだね
プレイ済み
返信[2]
親投稿
ゆうたん yu-tan-sama
==とかで比較するとTRUEとFALSE、どっちかの値が返ってきます IF文はその内容で分岐するのですけど、このTRUEとFALSEってプチコン3号の今のバージョンではFALSEが0、TRUEは0以外の値という感じで動いています なので、それを利用した書き方ですね~ ここらへんの挙動はそんなに変わることはないと思いますけど、理解と覚悟ができてない人にはお勧めできませぬ
0そうだね
プレイ済み
返信[3]
親投稿
reji Satoshi.1103
早速コメントありがとうございます。意外と難しいですね…2進数とか自分はあまり知らないので難しそうです…はやく理解出来るように頑張ります。回答本当にありがとうございました。
0そうだね
プレイ済み
返信[4]
親投稿
理屈的にはお二人が言われているような感じですね。 プチコンではボタンの処理で使われていることが多いですが、その場合の大体の違いは、ANDはボタンの同時押しに対応していて、==の場合は同時押しには対応してない、という場合が多いです。 ただANDをしてから==してるのは同時押しに対応しているし、さらに丁寧に処理を書いている場合が多いです。 どちらにしても書き方によって細かいところはかわるのですが、大まかにはそんな感じですね〜。
1そうだね
プレイ済み
返信[5]
親投稿
reji Satoshi.1103
でんぺんさんコメントありがとうございます。なるほど!ボタンの同時押しはやっぱりそうだったんですか!回答本当にありがとうございました。
0そうだね
プレイ済み
返信[6]
親投稿
おちゃめ ochame_nako
IF BT AND 16 THEN ~ というのは IF (BT AND 16)==16 THEN ~ から比較演算である「==16」を省略した書き方です。 特定条件下においては比較演算を省略して判定が可能ですが、そうでないと誤動作を招く場合があるためどのような場合に省略できるのかがよく分からないのであればIF (BT AND 16)==16 THEN ~ という書き方をオススメします。(==は付いているけどちゃんと同時入力に対応しているし誤判定も無くなります) もちろんボタン同時入力を考慮しない場面であればANDを使わずにIF BT==16 THEN ~ で全く問題はありません。
1そうだね
プレイ済み
返信[7]
親投稿
reji Satoshi.1103
おちゃめさん丁寧な説明で回答ありがとうございます!なるほど~、省略していたのですか、、長文で解説、誠にありがとうございました!分かりやすかったです!本当にありがとうございました。
0そうだね
プレイ済み
返信[8]
親投稿
reji Satoshi.1103
おちゃめさん丁寧な説明で回答ありがとうございます!なるほど~、省略していたのですか、、長文で解説、誠にありがとうございました!分かりやすかったです!本当にありがとうございました。
0そうだね
プレイ済み
返信[9]
親投稿
reji Satoshi.1103
あれ…?…何故か投稿のさい、バグが起きました…すいません…
0そうだね
プレイ済み
返信[10]
親投稿
reji Satoshi.1103
あれ…?…何故か投稿のさい、バグが起きました…すいません…
0そうだね
プレイ済み