プレイ日記
ちんた k.hikari118
プログラムはこんな感じです。うえボタンに変えたらとべますが、そのたのボタンじゃとべません。どなたかわかるかたおしえてください。
1そうだね
プレイ済み
返信[1]
親投稿
ANDはビット演算子なので B AND 16の結果は、0か16になります。 JP==0の結果は、0か1になります。 1 AND 16,0 AND 16,1 AND 0,0 AND 0の結果は、0になります。 B AND 1の結果は、0か1になります。 1 AND 1は1、1 AND 0,0 AND 1,0 AND 0は0になります。 わからない点は質問してください。
2そうだね
プレイ済み
返信[2]
親投稿
上ボタンは1なのでたまたまうまく動いたみたいですね。 ANDと&&の違いを理解すると簡単に直せる問題ですね。
0そうだね
プレイ済み
返信[3]
親投稿
ちんた k.hikari118
質問に答えていただきありがとうございます。 わけがわからないままANDを使っていました。 また考えてやってみます。
0そうだね
プレイ済み
返信[4]
親投稿
二進数 1桁で表現出来る数が0と1だけで、十進数と2進数の対応例は 0:00000000,1:00000001,2:00000010,3:00000011, 4:00000100,5:00000101,6:00000110,7:00000111, 8:00001000,9:00001001,10:00001010,11:00001011 12:00001100,13:00001101,14:00001110,15:00001111, 16:00010000 のようになります。2進数の1桁の事をビットと呼びます。 ビット演算子 ビット演算子は、ビット毎に論理演算をしてその結果を求めます。 ANDは、1 AND 1が1で0 AND 1,1 AND 1,0 AND 0は0になります。 ORは、1 OR 1,0 OR 1,1 OR 0が1で0 OR 0が0になります。
0そうだね
プレイ済み
返信[5]
親投稿
比較演算子 プチコンの比較演算子(<,>,>=,<=,==,!=)は、結果が正しいときは真、違う時は偽を返します。 論理演算子 プチコンの論理演算子(&&,||,!)は、0を偽、それ以外を真として論理演算をします。結果は、真か偽を返します。 プチコンは、真を1、偽を0としています。 わかりにくい説明で済みません。参考になれば。
0そうだね
プレイ済み
返信[6]
親投稿
ちんた k.hikari118
ビット演算はまだよく理解できませんでしたが、ANDを&&に変えてAジャンプに成功しました。 みなさんありがとうございました。
0そうだね
プレイ済み
返信[7]
親投稿
ちんた k.hikari118
コータさんご親切に丁寧な説明をありがとうございました。 今のところフワっとは理解できるのですが、はっきり使いこなせるようにがんばります。
0そうだね
プレイ済み
返信[8]
親投稿
わからない所を、言ってもらえればもう少し説明出来ると思います。 (私も、ちんたさんがわからない所をわかっていないので、うまく説明出来ていません。) ・ビット演算の例 12 AND 10は、以下のような計算をします。 十進数の12を二進数にすると1100になります。 (プチコンの場合、PRINT BIN$(12)を実行すると確認できます) 十進数の10を二進数にすると1010になります。     1100 AND)1010     ーーーー     1000 右端の1ビットは、 0 AND 0=0になります。 次のビットは、   0 AND 1=0になります。 次のビットは、   1 AND 0=0になります。 次のビットは、   1 AND 1=1になります。
0そうだね
プレイ済み
返信[9]
親投稿
結果は、二進数の1000になり、これを十進数にすると8になります。 (プチコンでは、PRINT &B1000とすると確認できます。) したがって、 12 AND 10 = 8になります。 そのうち慣れてくると、二進数をそのままイメージ出来るようになります。
0そうだね
プレイ済み
返信[10]
親投稿
ちんた k.hikari118
ご説明をありがとうございます。 みなさんのレベルが高すぎて、今のところなかなか理解がむずかしいです>< FOR NEXT文も知っていますが、まだ初心者なので理解しながら、難しいのやっていこうと思います。
0そうだね
プレイ済み
返信[11]
親投稿
ちんた k.hikari118
B AND 16は Aボタンを押したら、B=16になって、 16 AND 16になって 二進数で10000AND10000=10000で 真になるんですか? ビット列の中の一つでも1になれば真となるのですか?
0そうだね
プレイ済み
返信[12]
親投稿
プチコンのIF判定は0が偽でそれ以外は全て真になります。 二進数の10000は10進数だと16ですが、結局のところ0ではないので真です。ビット列の中の一つでも1になれば、それは0にはならないので結果的に真ということですね。
0そうだね
プレイ済み
返信[13]
親投稿
プチコンは、IF,WHILE,UNTILに書いてある「条件式」は、式を計算した後に、結果が0の時は、偽の処理をし、0以外の時は真の処理をします。論理演算の「項」を0かそれ以外かで、偽と真を区別しているのと同様です。
0そうだね
プレイ済み
返信[14]
親投稿
ちんた k.hikari118
なるほど。わかりました^^ いままであまり深く考えていなかったのですが、今回の件でだいぶん考えるようになりました。色んな命令があるようなので、もっとたくさんの命令を使ってみたいと思います。 ところでツララさん書いている、!マークとDIVとPOWはどんな命令ですか?
0そうだね
プレイ済み
返信[15]
親投稿
「!」は、真と偽を反転するする記号で「論理反転」と呼ぶようです。 プチコンの場合、計算結果は、0(偽)の時は1(真)に、0以外(真)の時は0(偽)になります。 割り算の「商」を求める演算子です。「余り」は、MODで求めることが出来ます。 POWは、べき乗を求める関数です。 たとえば、2の3乗はPOW(2,3)と書きます。
0そうだね
プレイ済み
返信[16]
親投稿
ちんた k.hikari118
ご説明をありがとうございます^^ なんだかPOWは今後使っていけそうな命令だと思いました! !は使い時が今はわからないです。そのうちわかるかもしれませんね。 >ツララさん こちらこそ未熟ですみません。消していただかなくてもよかったかと思います。色んな命令を覚えたいですから。 プチコンやってると、高校での数学を思い出しますね。もっとべんきょうしとけばよかった。
0そうだね
プレイ済み
返信[17]
親投稿
「!」は「~の時」から「~では無い時」または、その逆を簡単に作ることが出来ます。
0そうだね
プレイ済み