カントール関数
これは 1/3 の二進小数表示であるから、結局 c(1/4) = 1/3 が得られる。
1/5 は三進小数展開すると 0.01210121... となる。このうち最初の 1(小数第2位)より後の桁を全て 0 に置換すると 0.01000000... という小数が得られる。ここに数字 2 は含まれていないので、上の手順の 3. では何も起こらない。こうして得られた小数 0.01000000... は 1/4 の二進小数表示であるから、結局 c(1/5) = 1/4 が得られる。
200/243 は三進小数展開すると 0.21102 或いは 0.211012222... となる。このうち最初の 1(小数第2位)より後の桁を全て 0 に置換すると 0.21000000... という小数が得られる。続いて数字 2 を全て 1 に置換すると 0.11000000... という小数が得られる。これは 3/4 の二進小数表示であるから、結局 c(200/243) = 3/4 が得られる。
1 は三進小数展開すると 0.22222222... となる。ここに数字 1 は含まれていないので、上の手順の 2. では何も起こらない。続いて数字 2 を全て 1 に置換すると 0.11111111... という小数が得られる。これは 1 の二進小数表示であるから、結局 c(1) = 1 が得られる。
カントール関数の構成法を示したものが右のアニメーションである。正確には、カントール関数 c : [ 0 , 1 ] → [ 0 , 1 ] {\displaystyle c:[0,1]\to [0,1]} は次のように定義される。
引数 x を三進小数展開する。
得られた小数の中に数字 1 が含まれていれば、そのうち最初に現れるもののみを残してそれより後の全ての桁を 0 に置換する。
得られた小数の中に数字 2 が残っていれば、それらを全て 1 に置換する。
得られた小数を二進小数だと思って解釈する。この結果が c(x) の値である。
例として、幾つかの値についてカントール関数の値を計算過程を示す。
0 は三進小数展開すると 0.00000000... となる。ここに数字 1 は含まれていないので、上の手順の 2. では何も起こらない。数字 2 も含まれていないので、 3. でも何も起こらない。これは 二進小数表示でも 0 であるから、結局 c(0) = 0 が得られる。
1/4 は三進小数展開すると 0.02020202... となる。ここに数字 1 は含まれていないので、上の手順の 2. では何も起こらない。続いて数字 2 を全て 1 に置換すると 0.01010101... という小数が得られる。