#!/usr/bin/env node var assert = require('assert'); var finish = process.argv.length > 2 ? 0+process.argv[2] : 2.0; var d = finish / 2.0; var f = d; for (var i = 0; i < 54; i++) { var s = d.toString() assert.equal(parseFloat(s), d); console.log(s + ' = ' + d.toPrecision(17)); if (d == finish) process.exit(0); f /= 2; d += f; }
Standard input is empty
1 = 1.0000000000000000 1.5 = 1.5000000000000000 1.75 = 1.7500000000000000 1.875 = 1.8750000000000000 1.9375 = 1.9375000000000000 1.96875 = 1.9687500000000000 1.984375 = 1.9843750000000000 1.9921875 = 1.9921875000000000 1.99609375 = 1.9960937500000000 1.998046875 = 1.9980468750000000 1.9990234375 = 1.9990234375000000 1.99951171875 = 1.9995117187500000 1.999755859375 = 1.9997558593750000 1.9998779296875 = 1.9998779296875000 1.99993896484375 = 1.9999389648437500 1.999969482421875 = 1.9999694824218750 1.9999847412109375 = 1.9999847412109375 1.9999923706054688 = 1.9999923706054688 1.9999961853027344 = 1.9999961853027344 1.9999980926513672 = 1.9999980926513672 1.9999990463256836 = 1.9999990463256836 1.9999995231628418 = 1.9999995231628418 1.999999761581421 = 1.9999997615814209 1.9999998807907104 = 1.9999998807907104 1.9999999403953552 = 1.9999999403953552 1.9999999701976776 = 1.9999999701976776 1.9999999850988388 = 1.9999999850988388 1.9999999925494194 = 1.9999999925494194 1.9999999962747097 = 1.9999999962747097 1.9999999981373549 = 1.9999999981373549 1.9999999990686774 = 1.9999999990686774 1.9999999995343387 = 1.9999999995343387 1.9999999997671694 = 1.9999999997671694 1.9999999998835847 = 1.9999999998835847 1.9999999999417923 = 1.9999999999417923 1.9999999999708962 = 1.9999999999708962 1.999999999985448 = 1.9999999999854481 1.999999999992724 = 1.9999999999927240 1.999999999996362 = 1.9999999999963620 1.999999999998181 = 1.9999999999981810 1.9999999999990905 = 1.9999999999990905 1.9999999999995453 = 1.9999999999995453 1.9999999999997726 = 1.9999999999997726 1.9999999999998863 = 1.9999999999998863 1.9999999999999432 = 1.9999999999999432 1.9999999999999716 = 1.9999999999999716 1.9999999999999858 = 1.9999999999999858 1.999999999999993 = 1.9999999999999929 1.9999999999999964 = 1.9999999999999964 1.9999999999999982 = 1.9999999999999982 1.9999999999999991 = 1.9999999999999991 1.9999999999999996 = 1.9999999999999996 1.9999999999999998 = 1.9999999999999998 2 = 2.0000000000000000