Rosso Laboratory

論理演算

フラグ操作には欠かせないビット演算子の動作のまとめ

<論理否定 not>
not 0 → 1
not 1 → 0
但しVRMでは
not n → 0 (nは0以外)
<要点>
①反転させる
<使い道>
0を1に、0以外を0にする。


<論理和 or>
0 or 0 → 0 ・・・①
0 or 1 → 1 ・・・②
1 or 0 → 1
1 or 1 → 1 ・・・②
<要点>
①両者が0になった時を識別できる
②1を書き込める
<使い道>
ビットをセットする場合に使われる(②のこと)らしいが、あまり具体的な使い道は思いつかない。


<排他的論理和 xor>
0 xor 0 → 0 ・・・①
0 xor 1 → 1 ・・・②
1 xor 0 → 1
1 xor 1 → 0 ・・・①②
<要点>
①両者が同じ値(或いは違う値)になった時を識別できる
②下記記載
<使い道>
フラグの値を反転するときによく使われる。多分VRMでは一番使われる演算子。

参考:Rosso Laboratory「トグルスイッチテンプレート


<論理積 and>
0 and 0 → 0 ・・・②
0 and 1 → 0 ・・・③
1 and 0 → 0 ・・・②
1 and 1 → 1 ・・・①③
<要点>
①両者が1になった時を識別できる
②0を書き込める
③下記記載
<使い道>
特定のビットが1か0かを調べるのに使われるらしい。

参考:VRM入道「and命令って何の役に立つの?

---*---*---*---

<まとめ>
各演算子は①の利用方法としては全て使えるだろう。しかし、それ以外は「xorの②」を除いてあまり使うことはないだろうと思われる。

---*---*---*---

fox-hobby-garden「スクリプト[命令リスト]」では、コマンドを使う上での「書き方」が掲載されているだけで、具体的にそのコマンドをどういった場面で使うのかという「使い方」までは記載されていない。

そこで、こういった記事を書いてみたのだが、これが蓄積されていくと所謂「VRMスクリプト逆引き辞書」なるものをまとめ上げることが出来るだろう。しかし、どうも今求められているのはコレではないようである。まぁ、何処かしらに需要はあるだろうけど。

ランキングに参加中。クリックして応援お願いします!

名前:
コメント:

※文字化け等の原因になりますので顔文字の投稿はお控えください。

コメント利用規約に同意の上コメント投稿を行ってください。

 

※ブログ作成者から承認されるまでコメントは反映されません。

  • Xでシェアする
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

最新の画像もっと見る

最近の「VRMスクリプト」カテゴリーもっと見る

最近の記事
バックナンバー
人気記事