diff --git a/.gitignore b/.gitignore index 47ef01f..b25c15b 100644 --- a/.gitignore +++ b/.gitignore @@ -1,2 +1 @@ *~ -*.ipynb diff --git a/Example1.html b/Example1.html new file mode 100644 index 0000000..d932255 --- /dev/null +++ b/Example1.html @@ -0,0 +1,382 @@ + + + + + + + Example1 + + + + + +
+
using BenchmarkTools
+
+@benchmark sum(rand(1000))
+
+
BenchmarkTools.Trial: 10000 samples with 10 evaluations.
+ Range (minmax):  1.182 μs145.397 μs   GC (min … max): 0.00% … 96.62%
+ Time  (median):     1.277 μs                GC (median):    0.00%
+ Time  (mean ± σ):   1.789 μs ±   4.410 μs   GC (mean ± σ):  9.23% ±  3.75%
+
+  ▄█▅▃▃▄▃                                   ▁▃▄▃▃▄▃▂▂▁       ▂
+  ███████▇▇▆▆▆▁▅▅▄▅▄▁▃▄▄▅▁▁▅▄▃▃▁▁▃▃▁▃▁▃▃▁▁▄██████████▇▇▇▆▇▆ █
+  1.18 μs      Histogram: log(frequency) by time      3.51 μs <
+
+ Memory estimate: 7.94 KiB, allocs estimate: 1.
+
+
+
+
function printbitsf64(x::Float64)
+    s = bitstring(x)
+    printstyled(s[1], color = :blue, reverse=true)
+    printstyled(s[2:12], color = :green, reverse=true)
+    printstyled(s[13:end], color=:red, bold=true, reverse=true)
+    print("\n")
+end
+
+printbitsf64(27.56640625)
+
+
0100000000111011100100010000000000000000000000000000000000000000
+
+
+
+
+
Eps=0.5
+while 1 != 1 + Eps
+    Eps/= 2
+    printbitsf64(1+Eps)
+end
+
+
0011111111110100000000000000000000000000000000000000000000000000
+0011111111110010000000000000000000000000000000000000000000000000
+0011111111110001000000000000000000000000000000000000000000000000
+0011111111110000100000000000000000000000000000000000000000000000
+0011111111110000010000000000000000000000000000000000000000000000
+0011111111110000001000000000000000000000000000000000000000000000
+0011111111110000000100000000000000000000000000000000000000000000
+0011111111110000000010000000000000000000000000000000000000000000
+0011111111110000000001000000000000000000000000000000000000000000
+0011111111110000000000100000000000000000000000000000000000000000
+0011111111110000000000010000000000000000000000000000000000000000
+0011111111110000000000001000000000000000000000000000000000000000
+0011111111110000000000000100000000000000000000000000000000000000
+0011111111110000000000000010000000000000000000000000000000000000
+0011111111110000000000000001000000000000000000000000000000000000
+0011111111110000000000000000100000000000000000000000000000000000
+0011111111110000000000000000010000000000000000000000000000000000
+0011111111110000000000000000001000000000000000000000000000000000
+0011111111110000000000000000000100000000000000000000000000000000
+0011111111110000000000000000000010000000000000000000000000000000
+0011111111110000000000000000000001000000000000000000000000000000
+0011111111110000000000000000000000100000000000000000000000000000
+0011111111110000000000000000000000010000000000000000000000000000
+0011111111110000000000000000000000001000000000000000000000000000
+0011111111110000000000000000000000000100000000000000000000000000
+0011111111110000000000000000000000000010000000000000000000000000
+0011111111110000000000000000000000000001000000000000000000000000
+0011111111110000000000000000000000000000100000000000000000000000
+0011111111110000000000000000000000000000010000000000000000000000
+0011111111110000000000000000000000000000001000000000000000000000
+0011111111110000000000000000000000000000000100000000000000000000
+0011111111110000000000000000000000000000000010000000000000000000
+0011111111110000000000000000000000000000000001000000000000000000
+0011111111110000000000000000000000000000000000100000000000000000
+0011111111110000000000000000000000000000000000010000000000000000
+0011111111110000000000000000000000000000000000001000000000000000
+0011111111110000000000000000000000000000000000000100000000000000
+0011111111110000000000000000000000000000000000000010000000000000
+0011111111110000000000000000000000000000000000000001000000000000
+0011111111110000000000000000000000000000000000000000100000000000
+0011111111110000000000000000000000000000000000000000010000000000
+0011111111110000000000000000000000000000000000000000001000000000
+0011111111110000000000000000000000000000000000000000000100000000
+0011111111110000000000000000000000000000000000000000000010000000
+0011111111110000000000000000000000000000000000000000000001000000
+0011111111110000000000000000000000000000000000000000000000100000
+0011111111110000000000000000000000000000000000000000000000010000
+0011111111110000000000000000000000000000000000000000000000001000
+0011111111110000000000000000000000000000000000000000000000000100
+0011111111110000000000000000000000000000000000000000000000000010
+0011111111110000000000000000000000000000000000000000000000000001
+0011111111110000000000000000000000000000000000000000000000000000
+
+
+
+
+
function printbits2f64(x::Float64)
+    s = bitstring(x)
+    printstyled(s[1], color = 142, reverse=true)
+    printstyled(s[2:12], color = 190, reverse=false, underline=true)
+    printstyled(s[13:end], color= 27, bold=true, reverse=true)
+    print("\n")
+end
+
+printbits2f64(27.56640625)
+
+
0100000000111011100100010000000000000000000000000000000000000000
+
+
+
+
+
+
+ + diff --git a/Example1.ipynb b/Example1.ipynb new file mode 100644 index 0000000..99d8fcd --- /dev/null +++ b/Example1.ipynb @@ -0,0 +1,184 @@ +{ + "cells": [ + { + "cell_type": "code", + "execution_count": 6, + "id": "13bf7a6e", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "BenchmarkTools.Trial: 10000 samples with 10 evaluations.\n", + " Range \u001b[90m(\u001b[39m\u001b[36m\u001b[1mmin\u001b[22m\u001b[39m … \u001b[35mmax\u001b[39m\u001b[90m): \u001b[39m\u001b[36m\u001b[1m1.182 μs\u001b[22m\u001b[39m … \u001b[35m145.397 μs\u001b[39m \u001b[90m┊\u001b[39m GC \u001b[90m(\u001b[39mmin … max\u001b[90m): \u001b[39m0.00% … 96.62%\n", + " Time \u001b[90m(\u001b[39m\u001b[34m\u001b[1mmedian\u001b[22m\u001b[39m\u001b[90m): \u001b[39m\u001b[34m\u001b[1m1.277 μs \u001b[22m\u001b[39m\u001b[90m┊\u001b[39m GC \u001b[90m(\u001b[39mmedian\u001b[90m): \u001b[39m0.00%\n", + " Time \u001b[90m(\u001b[39m\u001b[32m\u001b[1mmean\u001b[22m\u001b[39m ± \u001b[32mσ\u001b[39m\u001b[90m): \u001b[39m\u001b[32m\u001b[1m1.789 μs\u001b[22m\u001b[39m ± \u001b[32m 4.410 μs\u001b[39m \u001b[90m┊\u001b[39m GC \u001b[90m(\u001b[39mmean ± σ\u001b[90m): \u001b[39m9.23% ± 3.75%\n", + "\n", + " \u001b[39m▄\u001b[39m█\u001b[34m█\u001b[39m\u001b[39m▅\u001b[39m▃\u001b[39m▃\u001b[39m▄\u001b[39m▃\u001b[39m \u001b[39m \u001b[39m \u001b[39m \u001b[39m \u001b[39m \u001b[39m \u001b[32m \u001b[39m\u001b[39m \u001b[39m \u001b[39m \u001b[39m \u001b[39m \u001b[39m \u001b[39m \u001b[39m \u001b[39m \u001b[39m \u001b[39m \u001b[39m \u001b[39m \u001b[39m \u001b[39m \u001b[39m \u001b[39m \u001b[39m \u001b[39m \u001b[39m \u001b[39m \u001b[39m \u001b[39m \u001b[39m \u001b[39m \u001b[39m \u001b[39m \u001b[39m▁\u001b[39m▃\u001b[39m▄\u001b[39m▃\u001b[39m▃\u001b[39m▄\u001b[39m▃\u001b[39m▂\u001b[39m▂\u001b[39m▁\u001b[39m \u001b[39m \u001b[39m \u001b[39m \u001b[39m \u001b[39m \u001b[39m \u001b[39m▂\n", + " \u001b[39m█\u001b[39m█\u001b[34m█\u001b[39m\u001b[39m█\u001b[39m█\u001b[39m█\u001b[39m█\u001b[39m█\u001b[39m▇\u001b[39m▇\u001b[39m▆\u001b[39m▆\u001b[39m▆\u001b[39m▁\u001b[39m▅\u001b[32m▄\u001b[39m\u001b[39m▅\u001b[39m▄\u001b[39m▅\u001b[39m▄\u001b[39m▁\u001b[39m▃\u001b[39m▄\u001b[39m▄\u001b[39m▅\u001b[39m▁\u001b[39m▁\u001b[39m▅\u001b[39m▄\u001b[39m▃\u001b[39m▃\u001b[39m▁\u001b[39m▁\u001b[39m▃\u001b[39m▃\u001b[39m▁\u001b[39m▃\u001b[39m▁\u001b[39m▃\u001b[39m▃\u001b[39m▁\u001b[39m▁\u001b[39m▄\u001b[39m█\u001b[39m█\u001b[39m█\u001b[39m█\u001b[39m█\u001b[39m█\u001b[39m█\u001b[39m█\u001b[39m█\u001b[39m█\u001b[39m▇\u001b[39m▇\u001b[39m▇\u001b[39m▆\u001b[39m▇\u001b[39m▆\u001b[39m \u001b[39m█\n", + " 1.18 μs\u001b[90m \u001b[39m\u001b[90mHistogram: \u001b[39m\u001b[90m\u001b[1mlog(\u001b[22m\u001b[39m\u001b[90mfrequency\u001b[39m\u001b[90m\u001b[1m)\u001b[22m\u001b[39m\u001b[90m by time\u001b[39m 3.51 μs \u001b[0m\u001b[1m<\u001b[22m\n", + "\n", + " Memory estimate\u001b[90m: \u001b[39m\u001b[33m7.94 KiB\u001b[39m, allocs estimate\u001b[90m: \u001b[39m\u001b[33m1\u001b[39m." + ] + }, + "execution_count": 6, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "using BenchmarkTools\n", + "\n", + "@benchmark sum(rand(1000))" + ] + }, + { + "cell_type": "code", + "execution_count": 7, + "id": "b1c443f8", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "\u001b[34m\u001b[7m0\u001b[27m\u001b[39m\u001b[32m\u001b[7m10000000011\u001b[27m\u001b[39m\u001b[31m\u001b[1m\u001b[7m1011100100010000000000000000000000000000000000000000\u001b[27m\u001b[22m\u001b[39m\n" + ] + } + ], + "source": [ + "function printbitsf64(x::Float64)\n", + " s = bitstring(x)\n", + " printstyled(s[1], color = :blue, reverse=true)\n", + " printstyled(s[2:12], color = :green, reverse=true)\n", + " printstyled(s[13:end], color=:red, bold=true, reverse=true)\n", + " print(\"\\n\")\n", + "end\n", + "\n", + "printbitsf64(27.56640625)" + ] + }, + { + "cell_type": "code", + "execution_count": 8, + "id": "8f3d880c", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "\u001b[34m\u001b[7m0\u001b[27m\u001b[39m\u001b[32m\u001b[7m01111111111\u001b[27m\u001b[39m\u001b[31m\u001b[1m\u001b[7m0100000000000000000000000000000000000000000000000000\u001b[27m\u001b[22m\u001b[39m\n", + "\u001b[34m\u001b[7m0\u001b[27m\u001b[39m\u001b[32m\u001b[7m01111111111\u001b[27m\u001b[39m\u001b[31m\u001b[1m\u001b[7m0010000000000000000000000000000000000000000000000000\u001b[27m\u001b[22m\u001b[39m\n", + "\u001b[34m\u001b[7m0\u001b[27m\u001b[39m\u001b[32m\u001b[7m01111111111\u001b[27m\u001b[39m\u001b[31m\u001b[1m\u001b[7m0001000000000000000000000000000000000000000000000000\u001b[27m\u001b[22m\u001b[39m\n", + "\u001b[34m\u001b[7m0\u001b[27m\u001b[39m\u001b[32m\u001b[7m01111111111\u001b[27m\u001b[39m\u001b[31m\u001b[1m\u001b[7m0000100000000000000000000000000000000000000000000000\u001b[27m\u001b[22m\u001b[39m\n", + "\u001b[34m\u001b[7m0\u001b[27m\u001b[39m\u001b[32m\u001b[7m01111111111\u001b[27m\u001b[39m\u001b[31m\u001b[1m\u001b[7m0000010000000000000000000000000000000000000000000000\u001b[27m\u001b[22m\u001b[39m\n", + "\u001b[34m\u001b[7m0\u001b[27m\u001b[39m\u001b[32m\u001b[7m01111111111\u001b[27m\u001b[39m\u001b[31m\u001b[1m\u001b[7m0000001000000000000000000000000000000000000000000000\u001b[27m\u001b[22m\u001b[39m\n", + "\u001b[34m\u001b[7m0\u001b[27m\u001b[39m\u001b[32m\u001b[7m01111111111\u001b[27m\u001b[39m\u001b[31m\u001b[1m\u001b[7m0000000100000000000000000000000000000000000000000000\u001b[27m\u001b[22m\u001b[39m\n", + "\u001b[34m\u001b[7m0\u001b[27m\u001b[39m\u001b[32m\u001b[7m01111111111\u001b[27m\u001b[39m\u001b[31m\u001b[1m\u001b[7m0000000010000000000000000000000000000000000000000000\u001b[27m\u001b[22m\u001b[39m\n", + "\u001b[34m\u001b[7m0\u001b[27m\u001b[39m\u001b[32m\u001b[7m01111111111\u001b[27m\u001b[39m\u001b[31m\u001b[1m\u001b[7m0000000001000000000000000000000000000000000000000000\u001b[27m\u001b[22m\u001b[39m\n", + "\u001b[34m\u001b[7m0\u001b[27m\u001b[39m\u001b[32m\u001b[7m01111111111\u001b[27m\u001b[39m\u001b[31m\u001b[1m\u001b[7m0000000000100000000000000000000000000000000000000000\u001b[27m\u001b[22m\u001b[39m\n", + "\u001b[34m\u001b[7m0\u001b[27m\u001b[39m\u001b[32m\u001b[7m01111111111\u001b[27m\u001b[39m\u001b[31m\u001b[1m\u001b[7m0000000000010000000000000000000000000000000000000000\u001b[27m\u001b[22m\u001b[39m\n", + "\u001b[34m\u001b[7m0\u001b[27m\u001b[39m\u001b[32m\u001b[7m01111111111\u001b[27m\u001b[39m\u001b[31m\u001b[1m\u001b[7m0000000000001000000000000000000000000000000000000000\u001b[27m\u001b[22m\u001b[39m\n", + "\u001b[34m\u001b[7m0\u001b[27m\u001b[39m\u001b[32m\u001b[7m01111111111\u001b[27m\u001b[39m\u001b[31m\u001b[1m\u001b[7m0000000000000100000000000000000000000000000000000000\u001b[27m\u001b[22m\u001b[39m\n", + "\u001b[34m\u001b[7m0\u001b[27m\u001b[39m\u001b[32m\u001b[7m01111111111\u001b[27m\u001b[39m\u001b[31m\u001b[1m\u001b[7m0000000000000010000000000000000000000000000000000000\u001b[27m\u001b[22m\u001b[39m\n", + "\u001b[34m\u001b[7m0\u001b[27m\u001b[39m\u001b[32m\u001b[7m01111111111\u001b[27m\u001b[39m\u001b[31m\u001b[1m\u001b[7m0000000000000001000000000000000000000000000000000000\u001b[27m\u001b[22m\u001b[39m\n", + "\u001b[34m\u001b[7m0\u001b[27m\u001b[39m\u001b[32m\u001b[7m01111111111\u001b[27m\u001b[39m\u001b[31m\u001b[1m\u001b[7m0000000000000000100000000000000000000000000000000000\u001b[27m\u001b[22m\u001b[39m\n", + "\u001b[34m\u001b[7m0\u001b[27m\u001b[39m\u001b[32m\u001b[7m01111111111\u001b[27m\u001b[39m\u001b[31m\u001b[1m\u001b[7m0000000000000000010000000000000000000000000000000000\u001b[27m\u001b[22m\u001b[39m\n", + "\u001b[34m\u001b[7m0\u001b[27m\u001b[39m\u001b[32m\u001b[7m01111111111\u001b[27m\u001b[39m\u001b[31m\u001b[1m\u001b[7m0000000000000000001000000000000000000000000000000000\u001b[27m\u001b[22m\u001b[39m\n", + "\u001b[34m\u001b[7m0\u001b[27m\u001b[39m\u001b[32m\u001b[7m01111111111\u001b[27m\u001b[39m\u001b[31m\u001b[1m\u001b[7m0000000000000000000100000000000000000000000000000000\u001b[27m\u001b[22m\u001b[39m\n", + "\u001b[34m\u001b[7m0\u001b[27m\u001b[39m\u001b[32m\u001b[7m01111111111\u001b[27m\u001b[39m\u001b[31m\u001b[1m\u001b[7m0000000000000000000010000000000000000000000000000000\u001b[27m\u001b[22m\u001b[39m\n", + "\u001b[34m\u001b[7m0\u001b[27m\u001b[39m\u001b[32m\u001b[7m01111111111\u001b[27m\u001b[39m\u001b[31m\u001b[1m\u001b[7m0000000000000000000001000000000000000000000000000000\u001b[27m\u001b[22m\u001b[39m\n", + "\u001b[34m\u001b[7m0\u001b[27m\u001b[39m\u001b[32m\u001b[7m01111111111\u001b[27m\u001b[39m\u001b[31m\u001b[1m\u001b[7m0000000000000000000000100000000000000000000000000000\u001b[27m\u001b[22m\u001b[39m\n", + "\u001b[34m\u001b[7m0\u001b[27m\u001b[39m\u001b[32m\u001b[7m01111111111\u001b[27m\u001b[39m\u001b[31m\u001b[1m\u001b[7m0000000000000000000000010000000000000000000000000000\u001b[27m\u001b[22m\u001b[39m\n", + "\u001b[34m\u001b[7m0\u001b[27m\u001b[39m\u001b[32m\u001b[7m01111111111\u001b[27m\u001b[39m\u001b[31m\u001b[1m\u001b[7m0000000000000000000000001000000000000000000000000000\u001b[27m\u001b[22m\u001b[39m\n", + "\u001b[34m\u001b[7m0\u001b[27m\u001b[39m\u001b[32m\u001b[7m01111111111\u001b[27m\u001b[39m\u001b[31m\u001b[1m\u001b[7m0000000000000000000000000100000000000000000000000000\u001b[27m\u001b[22m\u001b[39m\n", + "\u001b[34m\u001b[7m0\u001b[27m\u001b[39m\u001b[32m\u001b[7m01111111111\u001b[27m\u001b[39m\u001b[31m\u001b[1m\u001b[7m0000000000000000000000000010000000000000000000000000\u001b[27m\u001b[22m\u001b[39m\n", + "\u001b[34m\u001b[7m0\u001b[27m\u001b[39m\u001b[32m\u001b[7m01111111111\u001b[27m\u001b[39m\u001b[31m\u001b[1m\u001b[7m0000000000000000000000000001000000000000000000000000\u001b[27m\u001b[22m\u001b[39m\n", + "\u001b[34m\u001b[7m0\u001b[27m\u001b[39m\u001b[32m\u001b[7m01111111111\u001b[27m\u001b[39m\u001b[31m\u001b[1m\u001b[7m0000000000000000000000000000100000000000000000000000\u001b[27m\u001b[22m\u001b[39m\n", + "\u001b[34m\u001b[7m0\u001b[27m\u001b[39m\u001b[32m\u001b[7m01111111111\u001b[27m\u001b[39m\u001b[31m\u001b[1m\u001b[7m0000000000000000000000000000010000000000000000000000\u001b[27m\u001b[22m\u001b[39m\n", + "\u001b[34m\u001b[7m0\u001b[27m\u001b[39m\u001b[32m\u001b[7m01111111111\u001b[27m\u001b[39m\u001b[31m\u001b[1m\u001b[7m0000000000000000000000000000001000000000000000000000\u001b[27m\u001b[22m\u001b[39m\n", + "\u001b[34m\u001b[7m0\u001b[27m\u001b[39m\u001b[32m\u001b[7m01111111111\u001b[27m\u001b[39m\u001b[31m\u001b[1m\u001b[7m0000000000000000000000000000000100000000000000000000\u001b[27m\u001b[22m\u001b[39m\n", + "\u001b[34m\u001b[7m0\u001b[27m\u001b[39m\u001b[32m\u001b[7m01111111111\u001b[27m\u001b[39m\u001b[31m\u001b[1m\u001b[7m0000000000000000000000000000000010000000000000000000\u001b[27m\u001b[22m\u001b[39m\n", + "\u001b[34m\u001b[7m0\u001b[27m\u001b[39m\u001b[32m\u001b[7m01111111111\u001b[27m\u001b[39m\u001b[31m\u001b[1m\u001b[7m0000000000000000000000000000000001000000000000000000\u001b[27m\u001b[22m\u001b[39m\n", + "\u001b[34m\u001b[7m0\u001b[27m\u001b[39m\u001b[32m\u001b[7m01111111111\u001b[27m\u001b[39m\u001b[31m\u001b[1m\u001b[7m0000000000000000000000000000000000100000000000000000\u001b[27m\u001b[22m\u001b[39m\n", + "\u001b[34m\u001b[7m0\u001b[27m\u001b[39m\u001b[32m\u001b[7m01111111111\u001b[27m\u001b[39m\u001b[31m\u001b[1m\u001b[7m0000000000000000000000000000000000010000000000000000\u001b[27m\u001b[22m\u001b[39m\n", + "\u001b[34m\u001b[7m0\u001b[27m\u001b[39m\u001b[32m\u001b[7m01111111111\u001b[27m\u001b[39m\u001b[31m\u001b[1m\u001b[7m0000000000000000000000000000000000001000000000000000\u001b[27m\u001b[22m\u001b[39m\n", + "\u001b[34m\u001b[7m0\u001b[27m\u001b[39m\u001b[32m\u001b[7m01111111111\u001b[27m\u001b[39m\u001b[31m\u001b[1m\u001b[7m0000000000000000000000000000000000000100000000000000\u001b[27m\u001b[22m\u001b[39m\n", + "\u001b[34m\u001b[7m0\u001b[27m\u001b[39m\u001b[32m\u001b[7m01111111111\u001b[27m\u001b[39m\u001b[31m\u001b[1m\u001b[7m0000000000000000000000000000000000000010000000000000\u001b[27m\u001b[22m\u001b[39m\n", + "\u001b[34m\u001b[7m0\u001b[27m\u001b[39m\u001b[32m\u001b[7m01111111111\u001b[27m\u001b[39m\u001b[31m\u001b[1m\u001b[7m0000000000000000000000000000000000000001000000000000\u001b[27m\u001b[22m\u001b[39m\n", + "\u001b[34m\u001b[7m0\u001b[27m\u001b[39m\u001b[32m\u001b[7m01111111111\u001b[27m\u001b[39m\u001b[31m\u001b[1m\u001b[7m0000000000000000000000000000000000000000100000000000\u001b[27m\u001b[22m\u001b[39m\n", + "\u001b[34m\u001b[7m0\u001b[27m\u001b[39m\u001b[32m\u001b[7m01111111111\u001b[27m\u001b[39m\u001b[31m\u001b[1m\u001b[7m0000000000000000000000000000000000000000010000000000\u001b[27m\u001b[22m\u001b[39m\n", + "\u001b[34m\u001b[7m0\u001b[27m\u001b[39m\u001b[32m\u001b[7m01111111111\u001b[27m\u001b[39m\u001b[31m\u001b[1m\u001b[7m0000000000000000000000000000000000000000001000000000\u001b[27m\u001b[22m\u001b[39m\n", + "\u001b[34m\u001b[7m0\u001b[27m\u001b[39m\u001b[32m\u001b[7m01111111111\u001b[27m\u001b[39m\u001b[31m\u001b[1m\u001b[7m0000000000000000000000000000000000000000000100000000\u001b[27m\u001b[22m\u001b[39m\n", + "\u001b[34m\u001b[7m0\u001b[27m\u001b[39m\u001b[32m\u001b[7m01111111111\u001b[27m\u001b[39m\u001b[31m\u001b[1m\u001b[7m0000000000000000000000000000000000000000000010000000\u001b[27m\u001b[22m\u001b[39m\n", + "\u001b[34m\u001b[7m0\u001b[27m\u001b[39m\u001b[32m\u001b[7m01111111111\u001b[27m\u001b[39m\u001b[31m\u001b[1m\u001b[7m0000000000000000000000000000000000000000000001000000\u001b[27m\u001b[22m\u001b[39m\n", + "\u001b[34m\u001b[7m0\u001b[27m\u001b[39m\u001b[32m\u001b[7m01111111111\u001b[27m\u001b[39m\u001b[31m\u001b[1m\u001b[7m0000000000000000000000000000000000000000000000100000\u001b[27m\u001b[22m\u001b[39m\n", + "\u001b[34m\u001b[7m0\u001b[27m\u001b[39m\u001b[32m\u001b[7m01111111111\u001b[27m\u001b[39m\u001b[31m\u001b[1m\u001b[7m0000000000000000000000000000000000000000000000010000\u001b[27m\u001b[22m\u001b[39m\n", + "\u001b[34m\u001b[7m0\u001b[27m\u001b[39m\u001b[32m\u001b[7m01111111111\u001b[27m\u001b[39m\u001b[31m\u001b[1m\u001b[7m0000000000000000000000000000000000000000000000001000\u001b[27m\u001b[22m\u001b[39m\n", + "\u001b[34m\u001b[7m0\u001b[27m\u001b[39m\u001b[32m\u001b[7m01111111111\u001b[27m\u001b[39m\u001b[31m\u001b[1m\u001b[7m0000000000000000000000000000000000000000000000000100\u001b[27m\u001b[22m\u001b[39m\n", + "\u001b[34m\u001b[7m0\u001b[27m\u001b[39m\u001b[32m\u001b[7m01111111111\u001b[27m\u001b[39m\u001b[31m\u001b[1m\u001b[7m0000000000000000000000000000000000000000000000000010\u001b[27m\u001b[22m\u001b[39m\n", + "\u001b[34m\u001b[7m0\u001b[27m\u001b[39m\u001b[32m\u001b[7m01111111111\u001b[27m\u001b[39m\u001b[31m\u001b[1m\u001b[7m0000000000000000000000000000000000000000000000000001\u001b[27m\u001b[22m\u001b[39m\n", + "\u001b[34m\u001b[7m0\u001b[27m\u001b[39m\u001b[32m\u001b[7m01111111111\u001b[27m\u001b[39m\u001b[31m\u001b[1m\u001b[7m0000000000000000000000000000000000000000000000000000\u001b[27m\u001b[22m\u001b[39m\n" + ] + } + ], + "source": [ + "Eps=0.5\n", + "while 1 != 1 + Eps\n", + " Eps/= 2\n", + " printbitsf64(1+Eps)\n", + "end" + ] + }, + { + "cell_type": "code", + "execution_count": 13, + "id": "0c1f152a", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "\u001b[38;5;142m\u001b[7m0\u001b[27m\u001b[39m\u001b[38;5;190m\u001b[4m10000000011\u001b[24m\u001b[39m\u001b[38;5;27m\u001b[1m\u001b[7m1011100100010000000000000000000000000000000000000000\u001b[27m\u001b[22m\u001b[39m\n" + ] + } + ], + "source": [ + "function printbits2f64(x::Float64)\n", + " s = bitstring(x)\n", + " printstyled(s[1], color = 142, reverse=true)\n", + " printstyled(s[2:12], color = 190, reverse=false, underline=true)\n", + " printstyled(s[13:end], color= 27, bold=true, reverse=true)\n", + " print(\"\\n\")\n", + "end\n", + "\n", + "printbits2f64(27.56640625)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "a2175725", + "metadata": {}, + "outputs": [], + "source": [] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Julia (4 threads) 1.8.1", + "language": "julia", + "name": "julia-4-threads-1.8" + }, + "language_info": { + "file_extension": ".jl", + "mimetype": "application/julia", + "name": "julia", + "version": "1.8.1" + } + }, + "nbformat": 4, + "nbformat_minor": 5 +} diff --git a/Example1.pdf b/Example1.pdf new file mode 100644 index 0000000..045e5e0 Binary files /dev/null and b/Example1.pdf differ diff --git a/ansi2html.lua b/ansi2html.lua index 70b8c4c..ec1f01c 100644 --- a/ansi2html.lua +++ b/ansi2html.lua @@ -8,7 +8,8 @@ local css = [[