Panda Noir

JavaScript の限界を究めるブログでした。最近はいろんな分野を幅広めに書いてます。

論理

3入力以上のXORは真の個数が奇数か判定している

おさらい: まず2入力の場合 の xor。この場合は、「どちらかがON、どちらかがOFF」のときに真を出力します。 A B A^B 0 0 0 0 1 1 1 1 0 1 0 1 3入力のXOR 3入力のXORの真偽表は以下のようになります。 A B C A^B^C 0 0 0 0 0 0 1 1 0 1 0 1 0 1 1 0 1 0 0 1…

ろんりてきに考えてプログラミングしよう!

私もあまりできてない気がします。というか、事実前提結論が基本とかいいつつ背理法やら演繹とかわけがわからなくなってきました。まあ、間違えてたらご指摘ください。

全加算器の作り方

この間全加算器なるものをしって、それが論理式だけでできているときいたので書いてみます。ちなみに全加算器とは、下の位からの繰り上げをふくめて計算する加算器のことです。そのため、全加算器をつなげていけばどんな桁数でも計算できる…はずです。

受験終わったので論理式について書いてみます。

やっと受験終わったので、前から書きたかった論理式の記事です。プログラミングで論理式って重要ですよね。いろいろと。ifを短くできたりなんやかんやです。

世界最速の配列シャッフルアルゴリズム、Fisher-Yatesアルゴリズム

調べ物をしていたら、Fisher–Yatesアルゴリズムを見つけました。考え方がとてもシンプルでよかったので紹介します。

Snowballを大幅アップデート!

Snowballを大幅アップデートしました。といっても、内部処理のことで、外部的にはほとんどかわりません。でも、革命的だったので、書きます。書きたくなったのです。

JavaScriptで仮変数も排他的論理和も使わず変数を入れ替える方法

http://www.ideaxidea.com/archives/2011/05/byte-saving_techs.html/trackback ここ参考です。わかりづらかったので、解説したいと思います。

排他的論理和2回の欠点

排他的論理和を2回繰り返すことに欠点があると前回書きました。 今回はその理由のつづきです。

排他的論理和を2回繰り返すとなぜ元に戻るのか

変数を入れ替えるときに、 x^=y; y^=x; x^=y; (x^=yは、 x=x^y つまり x=x XOR y という意味です。) で入れ替えれることを知ったのですが、なぜそうなるのか分からなかったので実証してみました。 注意:xとyが同じ場合は0になるので、このアルゴリズムは完…