2014年12月9日火曜日

Lesson18: 2のべき乗

このサイトは移転しました。1秒後に自動でジャンプします。
移動しない場合は、ここをクリックしてください。



同じ数値を足し合わせて得られた値を2つ足し合わせて、どこまでいけるか計算してみたよとノートを見せてくれた息子。
1 + 1 = 2
2 + 2 = 4
4 + 4 = 8
  ・
  ・
  ・
これは2進数の各桁なんだよと教えてしまいたくなるけど、まだ早いと思うので教えるのは今度にして、今回はコンピュータを使って同じ計算を行うサンプルをつくってみた。

はじめは何だかよく分からなくても、繰り返し続けていくうちにきっと何かひらめくときがくるはず。
そのときが訪れることを願って、これからも短いサンプルを書いて、
息子に教えていきたいと思う。

https://github.com/toshio/js4son/blob/master/chapter02/lesson18.html

<!DOCTYPE html>
<html>
  <head>
    <meta charset="utf-8">
    <title>Lesson18 Binaries</title>
  </head>
  <body>
    <div id="text"></div>
    <script>
    var value = "<table border='0'>";
    for (var i=0, a=1; i<=50; i++) {
        value += "<tr>"
               + "<td>2<sup>" + i + "</sup></td>"
               + "<td>=</td>"
               + "<td align='right'>" + a + "</td>"
               + "</tr>";
        a *= 2;
    }
    value += "</table>";
    document.getElementById("text").innerHTML = value;
    </script>
  </body>
</html>

実行結果

20=1
21=2
22=4
23=8
24=16
25=32
26=64
27=128
28=256
29=512
210=1024
211=2048
212=4096
213=8192
214=16384
215=32768
216=65536
217=131072
218=262144
219=524288
220=1048576
221=2097152
222=4194304
223=8388608
224=16777216
225=33554432
226=67108864
227=134217728
228=268435456
229=536870912
230=1073741824
231=2147483648
232=4294967296
233=8589934592
234=17179869184
235=34359738368
236=68719476736
237=137438953472
238=274877906944
239=549755813888
240=1099511627776
241=2199023255552
242=4398046511104
243=8796093022208
244=17592186044416
245=35184372088832
246=70368744177664
247=140737488355328
248=281474976710656
249=562949953421312
250=1125899906842624

0 件のコメント:

コメントを投稿