何の脈絡もなく,気になったことをメモしてるだけのページ。
対数関数って言うと,って形の関数。グラフにすると,
更に一応付け加えると, e ってのは っていう性質がある数のことで,
。他にも面白い性質があるんですが,それはまたの機会に。
ちなみにGNUPLOT(上のグラフを描いてるソフト)には対数系の関数が log(x) と log10(x) の2つある (それぞれ,eと10を底とする対数)らしいんだけど,じゃぁ 2 を底とする対数はどうすんのか,一瞬悩んじった。
まぁ,当たり前なんですが,
なので,一つ対数関数があれば底は変換できるんだよね。
んで何で 2 を底とする対数関数なんて出したかって言うと,ある自然数を2進法で表したとき,
その桁数(文字列で表したときの長さ)が
になるって事実があるから。
(
は,n の小数点以下を切り捨てるって意味。
ね。プログラミング言語では良くある floor(n) って関数。)
…ホントか?以下,試してみた。
| 10進 | 2進 | | |
|---|---|---|---|
| 1 | 1 | 1 | 0 |
| 2 | 10 | 2 | 1 |
| 3 | 11 | 2 | 1.58496250072 |
| 4 | 100 | 3 | 2 |
| 127 | 1111111 | 7 | 6.98868468677 |
| 128 | 10000000 | 8 | 7 |
| 256 | 100000000 | 9 | 8 |
確かにそうなる。
じゃぁ何でか。は,
を
乗したら
になるって意味だから,小さい数から増えて行って位が上がる数になったら
の値が1増えることになる。だから,その
の小数点以下を切り捨てて,1の位の桁数1を足すと,全体の桁数が求められるわけだ。
ちなみに, は
って書く
1)らしい。(
は
って書くけど,こっちは有名。)
a sequence with k elements
べき集合(冪集合)