最近、これに関係することやってたので載せてみる
要するに2進数の計算ですが、ブール代数ですが
考えるの結構楽しいよね!
以下、つまんない内容なのですいません。
4.25 × 0.375
を考えてみる。
まず、小数点上位の2進数は、
4⇒100
0⇒000
小数点以下は、1/2、1/4、1/8と考えていきます。
0.25⇒1/4⇒0.01
0.375⇒1/4+1/8⇒0.011
合計で、
4.25=100.010
0.375=000.011
ここから
100.010 × 000.011
を考えていきます。
000.011は小数点無視して⇒11
それを2進数で掛け算にあらわすと
1のある場所が左シフト実行で
右側(LSB)からの桁数がシフト回数を
あらわしていて
100.010 << 1 + 100.010
と計算すると
1100.110 = 1000.10 + 100.010
さっきの0.375の2進数の小数点の位置は
3桁目だったので
合計値の上位3桁を拾う
1.100110 ⇒ 1 + 1/2 + 1/16 + 1/32 = 1.59375
とまぁ、答えが出てくる。
これを使えば、わざわざ面倒な計算もいらへん!
*や/をつかうよりはALUの使用数を低減できる。
固定値になってしまうのが欠点だが、
-------------------------------------------
フィルター2枚重ねたマスクの反射率
一枚分のフィルターの反射率が0.9(90%カット)とする。
5000個の粉塵っぽいのが1枚のフィルター通ると
500個は通り抜ける。
5000 × 0.9 = 4500個カット
さらにもう一枚抜けると
500 × 0.9 = 450個カット
50個通り抜ける。
では、全体で何%カットか?
これは、制御理論とブール代数の補数というのに近いものなんだね
入力に対して、出力される粉塵の割合は
Y(出力) = ( 1 - 0.9 )X(入力)
さらにもう一枚で
Z = ( 1 - 0.9 )Y
Z = ( 1 - 0.9 )( 1 - 0.9 )X
伝達関数はZ/Xでもとめられる。
さらに、今透過率求めているので、1から引けば反射率になる。
0.99 = 1 - ( 1 - 0.9 )( 1 - 0.9 )
そして、透過率は
0.81 = 0.9 x 0.9
となる。
反射率で、マスクを無限に重ねれば、( 1 - 0.9 )を無限に掛けることになるので
0.999999999999999999999999999999999999999....
じゃ!極限をつかうとどうなるか?
lim(i→∞){ 1 - (1/10)^i }
(1/10)^iは無限遠点で0に収束するので、
1になります。
ふしぎですな
無限は、不定数という数字ではないし近似表すものだから1になる
演算は、定数を使うから0.9999999...になるのだ
-----------------------------------------------------------
j=√-1
π=3.14159265357989...
exp(jπ) + 1 = 0
この式って、円の半周を回って中心に戻ったとき
その位置が0と言ってるのよね
ぐるっとまわって、コーシーの定理ですねわかります。
複素数って結局ベクトルに似たものだし、
複素関数って
α + j β
という形に置き換えられ
exp(jθ)
という形にも変換できるから
すべてが円描くことができるのね
ペイントツールに複素曲線とかないかなw
ベジェは比率の接線だし、
スプラインは折れ線だし、
なんか画期的なのがあるといいね
ーーーーーーーーーーーーーーーーーーーーーーーーーーーーー
単調増加の関数の逆関数って
0か1か値なしの領域に入る?
斜線なら、逆関数だと特異点をもつ
指数関数だと、対数になって、同じように特異点を持つ
もしかしかしたら狭義によるものかもしれない
証明はまだ
テーマ : 思うこと
ジャンル : 学問・文化・芸術