2012-11-10から1日間の記事一覧

ブール演算のビット毎の演算のテクニック:ぱらぱらめくる『クヌース本4.1』

ブール演算・ビット毎演算を用いて、色々な効率化・高速化アルゴリズムがある。その例が以下に挙げられている 複数の情報、を詰め込む・へばらす 2012年11月10日を20121110と表すことを考える 年が2 年を構成する4つの数字を6桁左へシフトして 月を構成す…

ビットごとにブール演算する(ビット毎演算)と3つの基本ブール演算:ぱらぱらめくる『クヌース本4.1』

2進数表記での算術演算にブール演算を使う 非負の整数xをk桁で二進数表記しよう to_bin.ry <- function(k, x){ if(k <= 0){ return(c()) } else { return(append(Recall(k-1, x%/%2), x%%2)) } } to_bin_rev.ry <- function(x){ sum(x*2^((length(x)-1):0))…

16通りのブール演算:ぱらぱらめくる『クヌース本4.1』

という演算はの値の取り方4通りのそれぞれに(0,1)のいずれかを対応付けることで網羅できるから、通りある 16種類の演算のそれぞれについて2x2テーブルを作ってみる boolean.op <- array(c(t(expand.grid(rep(list(0:1),4)))),c(2,2,16)) # The i-th operati…

目次:ぱらぱらめくる『クヌース本4.1』

MMIX 16通りのブール演算 ビット毎演算 ブール演算のビット毎の演算のテクニック BBD

MMIX:ぱらぱらめくる『クヌース本4.1』

BDD,ZDDのことを書いた(こちら) クヌース先生の以下の本で扱っているという The Art of Computer Programming Volume 4, Fascicle 1 Bitwise Tricks & Techniques; Binary Decision Diagarms 日本語版 (ASCII Addison Wesley Programming Se)作者: Donald E.…