HSPポータル
サイトマップ お問い合わせ


HSPTV!掲示板


未解決 解決 停止 削除要請

2024
1006
watson0120andの使い方5解決


watson0120

リンク

2024/10/6(Sun) 21:28:26|NO.102333

andって下みたいな場合って使えないんですかね?
head(6,0 and 1 and 2 and 4) = -1




この記事に返信する


ねんねこ

リンク

2024/10/7(Mon) 11:32:50|NO.102338

どのような使い方がしたいかいまいちわかっていませんが、

a=0 b=1 mes (a=0 and b=1)
この場合は1が出力されます。

a=1 b=0 mes (a=0 and b=1)
この場合は0が出力されます。

こんな感じに、()で囲めばフラグとして扱えます。

...ってことでいいですか?



正造

リンク

2024/10/7(Mon) 12:50:32|NO.102339

0 and 1 and 2 and 4は常に0になるのでorと間違えていませんか?



沢渡

リンク

2024/10/7(Mon) 15:54:22|NO.102340

おそらく、「head(6,0)とhead(6,1)とhead(6,2)とhead(6,4)それぞれに-1を代入する」
というのをやりたいのではないでしょうか?

repeat 5 if cnt=3 : continue head(6,cnt)=-1 loop



GENKI

リンク

2024/10/7(Mon) 22:48:05|NO.102342

使えます。

dim head, 7,1 mes 0 and 1 and 2 and 4 head(6,0 and 1 and 2 and 4) = -1 mes head(6, 0)

おそらくand演算への理解不足だと思います。多分ここでつまづかない人は存在しない。
目的は何なのかは置いておいて、ここはand演算の使い方についてまず説明した方がいいような気がします。

and演算はビット単位で行われます。組み合わせは以下の通り。

1 and 1 のとき 1
0 and 1 のとき 0
1 and 0 のとき 0
0 and 0 のとき 0

では次に、使用している数値 0,1,2,4についてどの様なビットになっているか2進数に変換して確認してみます。

10進数の 0 は、2進数では %000 (※%はHSP3で2進数表記する際の記号)
10進数の 1 は、2進数では %001
10進数の 2 は、2進数では %010
10進数の 4 は、2進数では %100

では次に 0 and 1 and 2 and 4 では何が起きているか。
評価の順番が分かりやすくなるよう括弧を付けてみます。

((0 and 1) and 2) and 4

これを順番に処理していきます。

 0 and 1        = %000 and %001 = %000
(0 and 1) and 2)    = %000 and %010 = %000
((0 and 1) and 2) and 4 = %000 and %100 = %000

つまり

0 and 1 and 2 and 4 = 0

ということで

head(6,0 and 1 and 2 and 4) = -1

これの実行結果は、以下の実行結果と同じとなります。

head(6,0) = -1


以下の資料も合わせて読むとより理解が深まると思います。

HSP講座/ビット演算 HSP開発wiki
https://wiki.hsp.moe/HSP%E8%AC%9B%E5%BA%A7%EF%BC%8F%E3%83%93%E3%83%83%E3%83%88%E6%BC%94%E7%AE%97.html

小ワザ/ビット操作 HSP開発wiki
https://wiki.hsp.moe/%E5%B0%8F%E3%83%AF%E3%82%B6%EF%BC%8F%E3%83%93%E3%83%83%E3%83%88%E6%93%8D%E4%BD%9C.html



watson0120

リンク

2024/10/8(Tue) 21:55:53|NO.102348

皆さんありがとうございます!!
>ねんねこさん
>正造さん
ありがとうございます!
配列変数への代入ということを質問に入れ忘れていました。すいません...
今後の作品などにも生かしていきます!

>沢渡さん
ありがとうございます!
andではなくrepeatを使えば簡単にできるのですね。
今後の参考にさせていただきます!

>GENKIさん
リンクや説明ありがとうございます!
andというのは自分の中で「-と-」という単純なものだと
思い込んでしまっていました。
ありがとうございます!

andについての理解不足でした。
以後andの使い方については気を付けます。
ありがとうございます!



記事削除

記事NO.パスワード
(質問が解決したスレッドは他の利用者に活用してもらうため、削除しないようお願いします)

NO.102333への返信

マスコット

好きなマスコットを選んでください。

名前

e-mail
HOME
  1. 初めて利用する方は、HSP3掲示板の使い方をお読みください。
  2. 不要部分の多い長いスクリプトの投稿は ご遠慮ください。
  3. 書き込みは自動改行されません。適度に改行を入れてください。
  4. スクリプトは小文字の<pre>〜</pre>で囲むと見やすく表示できます。

削除用パスワード

解決したら質問者本人がここをチェックしてください。

エラー発生時、再送信すると二重送信になることがあります。
回答が得られたら、お礼書き込み時に[解決]チェックしてください。
SPAM防止のためURLから始まる文章は投稿できません。
SPAM防止のため英文字のみの本文を投稿することはできません。

ONION software Copyright 1997-2023(c) All rights reserved.