NEW  |  HOME  |  OLD

ビット演算の否定、&の解説

5/25
23:31 (Rel_) 本体Var(X)=256
23:32 (Rel_) ヘルパーステートにて: !(Parent,Var(X)&256)とやると
23:32 (Rel_) !(Parent,Var(X)&256) = 1になる・・・
23:33 (Rel_) おかげで変数変わっても別モードのシステムヘルパーが消せない不具合
23:34 (Rel_) むしろそのモード専用でのシステムヘルパーがdestroyselfされていく・・・
23:34 (beta_) す、すこしこんがらがったぉ
23:35 (Rel_) あー、んーと
23:36 (beta_) 本体で変わるはずの変数が
23:36 (beta_) ヘルパーで弄ったせいで1のままくぁわらない?
23:36 (Rel_) モード1→ 変数Var(A)=256 Helper(XXX)
23:37 (Rel_) 本体はVar(A)=512になることでモード2に切り替わる
23:37 (Rel_) Helper(XXX)は本体がモード2に切り替わると消える
23:37 (Rel_) 消える時の条件→ trigger1= !(Parent,Var(A) & 256)
23:38 (beta_) 256以外なら消えるのよね
23:38 (Rel_) そそ
23:38 (Rel_) しかし
23:38 (beta_) しかし
23:39 (beta_) なんでか消えない?
23:39 (Rel_) !(Parent,Var(A) & 256) = 1 と判断されて、「モード1のとき、常に消える」という条件に変わってしまう
23:40 (Rel_) Var(A)=256のときね
23:40 (beta_) あー
23:40 (beta_) 256の時に出ていてほしいのに
23:40 (Rel_) 「モード1以外のときに消える」というつもりの条件が「モード1のときに消える」という条件になっている
23:41 (beta_) 逆の判定になちゃうのか
23:41 (Rel_) そういうこと
23:41 (beta_) 記述って難しいわ(´д`;)
23:41 (BluishCat) それは否定つけた場合のみ?
23:42 (Rel_) 否定を付けた場合のみです
23:42 (BluishCat) なるほど
23:42 (beta_) 逆に起動する条件にすればいいのかしら
23:43 (BluishCat) ということは、否定が機能して無い?
23:44 (Rel_) そうなりますね
23:44 (Rel_) 逆に消える条件を Parent,Var(A) & 256とすると
23:45 (Rel_) モード1の時に消えず、モード2の時に消えます
23:45 (Rel_) ・・・なんでかややこしいのがビット演算
23:46 (BluishCat) 否定は機能してるが、元が逆ってことかな・・・?
23:46 (beta_) Parent,Var(A) & 256 本体のVar(A)の中が256であるとき
23:46 (beta_) !をつけると
23:47 (beta_) !(Parent,Var(A) & 256) 本体のVar(A)の中が256でないとき になる感じはするのにねぇ
23:47 (Rel_) 感じだけはするんですけどねぇ
23:47 (BluishCat) そういえば前、デバッグ用スイッチをXOR使ってON、OFFしようとしてどうにもうまくいかなかった経験があるけど
23:47 (BluishCat) そういうことだったんだろうか・・・

以下「&」の解説
23:47 (beta_) つまり
23:48 (beta_) !(Parent,Var(A) & 256) 本体のVar(A)の中が256であるとき否定する
23:49 (Rel_) あー、厳密に言うとVar(A)&256というのは
23:49 (beta_) (=ω=)あ、あたまから煙があがが
23:49 (Rel_) ・・・2進数で表さないといけない上にここだと説明しにくいから止しとこう
23:51 (Rel_) 簡単に言うと 100000000 & 256 = 1
23:51 (Rel_) 間違えた
23:51 (Rel_) 100000000 & 256 = 256
23:51 (Rel_) 100000001 & 256 = 256
23:51 (Rel_) 100000010 & 256 = 256
23:52 (Rel_) 9桁目が1になる2進数なら&256のビット演算は全部256になります
23:53 (Rel_) 桁の小さい数で表しますと
23:53 (Rel_) 1 & 1 = 1
23:53 (Rel_) 11 & 1 = 1
23:53 (Rel_) 101 & 1 = 1
23:53 (Rel_) 111 & 1 = 1
23:53 (Rel_) 1001 & 1 = 1
23:54 (Rel_) 1桁目が1なら全部1です
23:54 (Rel_) 1000000000000000000000000001 & 1 = 1
23:54 (BluishCat) 10001 & 00001 = 1 ってことだしね。両方2進にすればANDはわかりやすい
23:55 (Rel_) ORもそんなに難しくはないですけどね
23:55 (beta_) 論理関数は頭が痛くなる
23:55 (BluishCat) 法則さえ覚えてしまえばビット演算は難しくは無い
23:56 (BluishCat) ただ、十進と二進が表記上まざるからややこしい
23:56 (BluishCat) 表記上じゃないな、表記と判定上か・・・
23:56 (beta_) 論理式、素人が考えるとあたまがおかしくなってちぬ
23:58 (beta_) とりあえず後回しにしていいですかせんせー
23:58 (BluishCat) 変数がどうしても足りない!って時以外は別に必要ない気もするw

NEW  |  HOME  |  OLD

Comment

コメントの投稿


管理者にだけ表示を許可する

Trackback

http://kyoakumugenirc.blog61.fc2.com/tb.php/2465-883735f9

NEW  |  HOME  |  OLD

 検索フォーム


 全記事表示リンク

 全記事表示(500件ずつ)


 プロフィール

vesper

Author:vesper

IRCチャンネルの
#凶悪MUGEN
#凶悪MUGEN_雑談
のログからMUGENに関するものを編集・公開しています。
修正した方が良い箇所があった場合は知らせてもらえると助かります。
MUGEN界隈からはリンクフリーです。
その他からのリンクはご遠慮ください。
このブログをリンクに追加

IRCへの入り方などは
IRCに関する記事
をご覧ください。

簡易凶悪MUGEN IRC情報
・ホスト名
 [irc.friend-chat.jp]
・ポート番号
 [6664]
・チャンネル名
 [#凶悪MUGEN]
 [#凶悪MUGEN_雑談]
 (以下はお好みで)
 [#凶悪MUGEN_艦これ]
 [#凶悪MUGEN_スマブラ]
 [#凶悪MUGEN_麻雀]
 [#凶悪MUGEN_緋想天]
 [#凶悪MUGEN_アカツキ]
 [#凶悪MUGEN_小説]
 [#凶悪MUGEN_絵チャ]

・推奨IRCクライアント
 LimeChat2


 カテゴリ

記述の子カテゴリは目安程度に考えてください。

 最新コメント


 最新記事


 カウンター

累計の閲覧者数:

現在の閲覧者数:

 RSSリンクの表示


他ブログ更新情報(最新70件)

仕様上、下記のリンク一覧でサイトリンクにあるサイトはこの一覧に出ません。

Twitter


基礎リンク集


リンク

サイトに断り書きがない限りリンクさせてもらっています。
リンクしてほしくない場合はお気軽におっしゃってください。