ロジックゲートをnode.jsでシミュレーションする
Rubyで2の補数の話題ぐらいから6年ぶり*1のビット演算の話題。
ロジックゲートをシミュレーションするg8というライブラリがあったので少し触ってみました。
サンプル見ればそのままなのですが、一応手元でも試してみました。
なぜか「ぬ」という日本語名がプロジェクト名。
var g8 = require('g8'); var a = g8.word(8); var b = g8.word(8); console.log("a=" + a('11110000', '1')); console.log("b=" + b('00001111', '1')); console.log("---"); console.log("a or b = " + g8.or(a('00000000', '0'), b('00000000', '0'))); console.log("not b = " + g8.not(b('00000000', '0')));
a=11110000 b=00001111 --- a or b = 11111111 not b = 11110000
これを利用して、10bit CPUの実装も行われていて興味深い。
最近コードを書いていてもビットの気持ちを忘れているなと感じたので時々触って思い出そうと思う。
*1:多分...ちゃんと振り返ってない...