「計算」の編集履歴(バックアップ)一覧に戻る

計算 - (2013/09/17 (火) 00:29:36) のソース

<計算>
 前者(変数または数値)と後者(変数または数値)を演算し、計算結果を変数に代入。
----
・変数/即値:変数(0-15)または即値(任意の実数)を指定。
 使用可能な[[ローカル]]変数が、16個→64個に増加(v0.99.74以降)

・演算式:計算方法を選択。
 +:前者と後者を加算する演算子。
 -:前者から後者を減算する演算子。
 ×:前者と後者を乗算する演算子。
 ÷:前者を後者で除算する演算子。
 余り:前者を後者で除算した際の余りを求める演算子。
 左シフト:左シフトを行う演算子。
 右シフト:右シフトを行う演算子。
 AND:前者と後者の論理和を求める論理演算子。
 OR:前者と後者の論理積を求める論理演算子。
 XOR:前者と後者の排他的論理和を求める論理演算子。

・変数/即値:変数(0-15)または即値(任意の実数)を指定。
 使用可能なローカル変数が、16個→64個に増加(v0.99.74以降)

・変数:計算結果を代入する変数(0-15)を指定。
 使用可能なローカル変数が、16個→64個に増加(v0.99.74以降)
----
・除算についての注意点
 除算の結果は、小数点以下が切り捨てられて整数となるため、整数商となる。
 0での除算は、v0.99.54以前では、アプリケーションが強制終了となる。
 0での除算は、v0.99.54以降では、アプリケーションが強制終了せず、結果は0になる。 
----
・シフト演算についての注意点
 シフト演算は、数字の桁を左右に移動(シフト)させる演算。
  10進数であれば、左シフトで×10,右シフトで×1/10(小数点以下は切り捨て)となる。
  2進数であれば、左シフトで×2,右シフトで×1/2(小数点以下は切り捨て)となる。
 10進数で入力された数値は、いったん2進数に変換され、左右へのシフト演算の後に、再び10進数となって出力。
----
・論理演算についての注意点
 論理演算は、2進数において各桁を比較して、一定のルールの下で0か1か(OFFかONか)を決める演算。
 10進数で入力された数値は、いったん2進数に変換され、論理演算の後に、再び10進数となって出力。
・真理値表(数値は2進数)
|数値A|数値B||A AND B|A OR B|A XOR B(A EOR B)||NOT A|NOT B||A NAND B|A NOR B|A XNOR B(A EQ B)|
|0|0||0|0|0||1|1||1|1|1|
|1|0||0|1|1||0|1||1|0|0|
|0|1||0|1|1||1|0||1|0|0|
|1|1||1|1|0||0|0||0|0|1|
----
・論理積:指定した桁の[[フラグ]]のON/OFFをみる演算
 数値Aと数値Bでともに1の桁のみを1で抜き出し、数値Bで0の桁には0を代入。
 数値Aのフラグの中から、数値Bで指定したフラグのみ、ON/OFFを確認。
|数値A|AND|数値B||結果|
|010101|AND|000111||000101|
・論理和:指定した桁のフラグをONにする演算
 数値Aの1の桁を残したまま、数値Aが0で数値Bが1の桁には1を代入。
 数値AでONのフラグを残したまま、数値Bで指定したフラグのONを追加。
|数値A|OR|数値B||結果|
|010101|OR|000111||010111|
・排他的論理和:指定した桁のフラグのON/OFFを反転する演算
 数値Aと数値Bでともに同じ桁に0を代入し、異なる桁には1を代入。
 数値Aのフラグの中から、数値Bで指定したフラグのみ、ON/OFFを反転。
|数値A|XOR|数値B||結果|
|010101|XOR|000111||010010|
----
→[[フラグ管理]]
----
[[変数パネル]]>>[[システム]],[[ローカル]],[[条件分岐(変数)]],[[範囲]],[[乱数]],[[デバッグ(変数)]],[[距離]]
----
#ref(http://www41.atwiki.jp/stgbuilder?cmd=upload&act=open&pageid=166&file=%E5%A4%89%E6%95%B0-%E8%A8%88%E7%AE%97.png)
----
#ref(http://www41.atwiki.jp/stgbuilder?cmd=upload&act=open&pageid=166&file=%E7%9C%9F%E7%90%86%E5%80%A4%E8%A1%A81.PNG)
#ref(http://www41.atwiki.jp/stgbuilder?cmd=upload&act=open&pageid=166&file=%E7%9C%9F%E7%90%86%E5%80%A4%E8%A1%A8.PNG)
#ref(http://www41.atwiki.jp/stgbuilder?cmd=upload&act=open&pageid=166&file=%E3%82%B7%E3%83%95%E3%83%88%E6%BC%94%E7%AE%97.png)
----