From afeb392e4b9b96ba8af153653b9cb032cc67f95c Mon Sep 17 00:00:00 2001 From: Meik Hellmund Date: Mon, 26 Sep 2022 20:54:19 +0200 Subject: [PATCH] example added --- .gitignore | 1 - Example1.html | 382 +++++++++++++++++++++++++++++++++++++++++++++++++ Example1.ipynb | 184 ++++++++++++++++++++++++ Example1.pdf | Bin 0 -> 28789 bytes ansi2html.lua | 3 +- make.sh | 2 + 6 files changed, 570 insertions(+), 2 deletions(-) create mode 100644 Example1.html create mode 100644 Example1.ipynb create mode 100644 Example1.pdf create mode 100644 make.sh 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 0000000000000000000000000000000000000000..045e5e0fa240afb6fe54ca4f571d7a3e4dd5ad25 GIT binary patch literal 28789 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 literal 0 HcmV?d00001 diff --git a/ansi2html.lua b/ansi2html.lua index 70b8c4c..ec1f01c 100644 --- a/ansi2html.lua +++ b/ansi2html.lua @@ -8,7 +8,8 @@ local css = [[