自動化リボンへのマルチビット演算
https://gyazo.com/d9185ec51ff12ed587d2b848b27919fa
ガチのコンピューティングやんけ
Q. 「何ができるの?」
A(普通の回答) 「割り込み処理を入れたり強制中断したりが組みやすくなります」
A(キチ回答) 「自動化回路で足し算/引き算/掛け算/割り算ができるようになります」
4bit NOT
https://gyazo.com/8c6cab7fe80197f2db2491e27f2e36b4
NOTゲート.iconNOTゲートの場合、論理入力ポート.iconに送られた全ての信号を反転する → ONIの自動化回路で"引き算"を作れるようになる
プログラミングにおける z = ~x に相当
4bit XOR
https://gyazo.com/49b2ff50b949e79e563ffbc3dc0d1378
XORゲート.iconXORゲートの場合、特定のビット枠だけ選択的に反転させる操作が出来る 反転させたいビット枠に対し、噛み合うように入力する
片方の入力を全て 1111 にした状態で、マルチビットNOTと同じ操作になる
プログラミングにおける z = x ^ y
4bit AND
https://gyazo.com/a609e3a8813ef81dd9f47a2d890bc413
ANDゲート.iconANDゲートの場合は特定のビット枠の情報を無視する操作が出来る あるいは「○ビット目と○ビット目がオンになっているかどうかだけ調べる」操作にも使える
割り込み処理の優先順位づけとかが出来るようになる
あるいは「強制的に中断させる」機構にも使える
プログラミングにおける z = x & y
4bit OR
https://gyazo.com/1ed43243afa490c1682bd10c7cba5834
こちらも特定のビット枠を無視する操作だが、ANDと逆に「無視して論理出力ポート 緑.iconにしてしまう」操作
元の信号に関わらず割り込み処理を仕掛ける用途に使える
プログラミングにおける z = x | y
https://gyazo.com/05c9f01f943dec0f7f57212bfbbb1218
一束の自動化リボンを「最小0、最大15の数値データ」とみなした場合には算術演算として使える リボンライターで「2ビット目に書き込み」の指定は「元の数値を2倍にする」操作と同じになる プログラミングにおける z = x << 1
リボンリーダーで「2ビット目を読み込み」の指定は「元の数値を半分にする」操作と同じ プログラミングにおける z = x >> 1
Advanced:「下位2ビットマスク」
https://gyazo.com/fb1e2f964e7ea631a999fa9add453893
「1ビット目と2ビット目を無視して、3ビット目と4ビット目の情報だけコピーする」