{ "cells": [ { "cell_type": "code", "execution_count": 1, "id": "8e05752b", "metadata": {}, "outputs": [], "source": [ "# %pip install -U git+https://github.com/graphcore-research/gfloat airium\n", "# %load_ext autoreload\n", "# %autoreload 2" ] }, { "cell_type": "markdown", "id": "d644a08f", "metadata": {}, "source": [ "\n", "\n", "# Making value tables\n", "\n", "In this notebook, we generate value tables akin to those at [P3109](https://htmlpreview.github.io/?https://raw.githubusercontent.com/P3109/Public/main/Value%20Tables/html/index.html).\n", "\n", "Thes tables comprise one-line summaries of each float value in the form\n", "```text\n", "Code Binary = Exact binary E = Float16 equivalent Float16 binary E = Float Value\n", "0x21 0_0100_001 = +0b1.001*2^-4 = 0_01011_0010000000 +0b1.0010000000*2^-4 = ~0.0703\n", "```" ] }, { "cell_type": "code", "execution_count": 2, "id": "9f1d0ce1", "metadata": {}, "outputs": [], "source": [ "import math\n", "from gfloat import *\n", "from gfloat.formats import *\n", "import numpy as np\n", "from IPython.display import HTML\n", "import airium" ] }, { "cell_type": "markdown", "id": "c5431b11", "metadata": {}, "source": [ "## Define some helpers.\n", "\n", "### Render with underscores separating s_e_m\n", "\n", "E.g `0_1011_110`. For formats with zero significand bits or zero exponent bits, we use `0_1011110_` or `0__10111110`." ] }, { "cell_type": "code", "execution_count": 3, "id": "f4fd7cca", "metadata": {}, "outputs": [], "source": [ "def str_bits_with_underscores(fi, fv):\n", " signstr = f\"{fv.signbit}_\" if fi.is_signed else \"\"\n", "\n", " # 0_1011110_\n", " if fi.tSignificandBits == 0:\n", " return f\"{signstr}{fv.exp:0{fi.expBits}b}_\"\n", "\n", " # 0__1011110\n", " if fi.expBits == 0:\n", " return f\"{signstr}{fv.significand:0{fi.tSignificandBits}b}\"\n", "\n", " # 0_101_1110\n", " return f\"{signstr}{fv.exp:0{fi.expBits}b}_{fv.significand:0{fi.tSignificandBits}b}\"\n", "\n", "\n", "fi = format_info_p3109(5, 3)\n", "assert str_bits_with_underscores(fi, decode_float(fi, 0x09)) == \"0_10_01\"\n", "\n", "fi = format_info_p3109(8, 1)\n", "assert str_bits_with_underscores(fi, decode_float(fi, 0x41)) == \"0_1000001_\"\n", "\n", "fi = format_info_p3109(8, 7)\n", "assert str_bits_with_underscores(fi, decode_float(fi, 0x41)) == \"0_1_000001\"" ] }, { "cell_type": "markdown", "id": "5fbaa5da", "metadata": {}, "source": [ "### Render a binary16 value\n", "\n", "Returns two strings, like this:\n", "```\n", "'0_00010_1010000000', '+0b1.1010000000*2^-13'\n", "```" ] }, { "cell_type": "code", "execution_count": 4, "id": "940a9c45", "metadata": {}, "outputs": [], "source": [ "import struct\n", "\n", "\n", "def b16_str(val) -> tuple[str, str]:\n", " \"\"\"\n", " Represent VAL in binary16.\n", "\n", " If val does not convert exactly to binary16,\n", " returns \"\"\n", " \"\"\"\n", " with np.errstate(over=\"ignore\"):\n", " b16 = np.float16(val)\n", "\n", " if float(b16) != val and np.isfinite(b16):\n", " # Finite, but not representable in float16\n", " return f\"\", \"\"\n", " b16_int = struct.unpack(\"!H\", struct.pack(\"!e\", b16))[0]\n", "\n", " # bitstr is of the form 0_00000_1100000000\n", " s = f\"{b16_int:016b}\"\n", " e_str = s[1:6]\n", " m_str = s[6:]\n", " bitstr = f\"{s[0]}_{e_str}_{m_str}\"\n", "\n", " # pow2str is of the form '+0b0.1100000000*2^-15', or '' for nonfinite values\n", " e = int(e_str, 2) - 15\n", " m = int(m_str, 2)\n", " leading_bit = 0 if e == -15 else 1\n", " signstr = \"-\" if s[0] == \"1\" else \"+\"\n", " if np.isfinite(b16):\n", " pow2str = f\"{signstr}0b{leading_bit}.{m:010b}*2^{e}\"\n", " else:\n", " pow2str = \"\"\n", " return bitstr, pow2str\n", "\n", "\n", "assert b16_str(13 * 2**-16) == (\"0_00010_1010000000\", \"+0b1.1010000000*2^-13\")" ] }, { "cell_type": "markdown", "id": "a0d0f8ca", "metadata": {}, "source": [ "### Print one table row" ] }, { "cell_type": "code", "execution_count": 5, "id": "7e51b667", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "## p3109_k8p3se\n", "0x00 = 0_00000_00 = 0.0 = 0.0\n", "0x01 = 0_00000_01 = +0b0.01*2^-15 = ~7.629e-06\n", "0x07 = 0_00001_11 = +0b1.11*2^-15 = ~5.341e-05\n", "0x21 = 0_01000_01 = +0b1.01*2^-8 = ~0.0049\n", "0x40 = 0_10000_00 = +0b1.00*2^0 = 1.0\n", "0x41 = 0_10000_01 = +0b1.01*2^0 = 1.25\n", "0x7e = 0_11111_10 = +0b1.10*2^15 = 49152.0\n", "0x7f = 0_11111_11 = inf = inf\n", "0x80 = 1_00000_00 = nan = nan\n", "0x81 = 1_00000_01 = -0b0.01*2^-15 = ~-7.629e-06\n", "0xe6 = 1_11001_10 = -0b1.10*2^9 = -768.0\n", "0xfe = 1_11111_10 = -0b1.10*2^15 = -49152.0\n", "0xff = 1_11111_11 = -inf = -inf\n", "## p3109_k8p1se\n", "0x00 = 0_0000000_ = 0.0 = 0.0\n", "0x01 = 0_0000001_ = +0b1.0*2^-63 = ~1.084e-19\n", "0x07 = 0_0000111_ = +0b1.0*2^-57 = ~6.939e-18\n", "0x21 = 0_0100001_ = +0b1.0*2^-31 = ~4.657e-10\n", "0x40 = 0_1000000_ = +0b1.0*2^0 = 1.0\n", "0x41 = 0_1000001_ = +0b1.0*2^1 = 2.0\n", "0x7e = 0_1111110_ = +0b1.0*2^62 = ~4.612e+18\n", "0x7f = 0_1111111_ = inf = inf\n", "0x80 = 1_0000000_ = nan = nan\n", "0x81 = 1_0000001_ = -0b1.0*2^-63 = ~-1.084e-19\n", "0xe6 = 1_1100110_ = -0b1.0*2^38 = ~-2.749e+11\n", "0xfe = 1_1111110_ = -0b1.0*2^62 = ~-4.612e+18\n", "0xff = 1_1111111_ = -inf = -inf\n" ] } ], "source": [ "def hex(fi, fv):\n", " return f\"0x{fv.code:02x}\"\n", "\n", "\n", "def binary_pow2(fi, fv):\n", " \"\"\"\n", " Create a string of the form\n", " 0b1.01*2^3\n", " \"\"\"\n", " finite_nonzero = np.isfinite(fv.fval) and fv.fval != 0\n", "\n", " if not finite_nonzero:\n", " return str(fv.fval)\n", "\n", " signstr = \"-\" if fv.signbit else \"+\"\n", "\n", " b = \"0\" if fv.fclass == FloatClass.SUBNORMAL else \"1\"\n", "\n", " return f\"{signstr}0b{b}.{fv.significand:0{fi.tSignificandBits}b}*2^{fv.expval:<3}\"\n", "\n", "\n", "for fi in (format_info_p3109(8, 3), format_info_p3109(8, 1)):\n", " print(\"##\", fi.name)\n", " codes = (0x00, 0x01, 0x07, 0x21, 0x40, 0x41, 0x7E, 0x7F, 0x80, 0x81, 0xE6, 0xFE, 0xFF)\n", " fvs = [decode_float(fi, i) for i in codes]\n", " for fv in fvs:\n", " print(\n", " hex(fi, fv),\n", " str_bits_with_underscores(fi, fv),\n", " binary_pow2(fi, fv),\n", " float_tilde_unless_roundtrip_str(fv.fval, width=8, d=4),\n", " sep=\" = \",\n", " )" ] }, { "cell_type": "markdown", "id": "ee4325c2", "metadata": {}, "source": [ "## Make HTML table" ] }, { "cell_type": "code", "execution_count": 6, "id": "6d10d975", "metadata": {}, "outputs": [ { "data": { "text/html": [ "\n", "\n", "\n", " \n", " \n", " FP6 Value Table, ocp_e3m2\n", " \n", " \n", "

FP6 Value Table, ocp_e3m2

\n", "
\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
\n", "
0x00 = 0_000_00 = 0.0 = 0.0
\n", "
\n", "
0x20 = 1_000_00 = -0.0 = -0.0
\n", "
\n", "
0x01 = 0_000_01 = +0b0.01*2^-2  = 0.0625
\n", "
\n", "
0x21 = 1_000_01 = -0b0.01*2^-2  = -0.0625
\n", "
\n", "
0x02 = 0_000_10 = +0b0.10*2^-2  = 0.125
\n", "
\n", "
0x22 = 1_000_10 = -0b0.10*2^-2  = -0.125
\n", "
\n", "
0x03 = 0_000_11 = +0b0.11*2^-2  = 0.1875
\n", "
\n", "
0x23 = 1_000_11 = -0b0.11*2^-2  = -0.1875
\n", "
\n", "
0x04 = 0_001_00 = +0b1.00*2^-2  = 0.25
\n", "
\n", "
0x24 = 1_001_00 = -0b1.00*2^-2  = -0.25
\n", "
......
\n", "
0x09 = 0_010_01 = +0b1.01*2^-1  = 0.625
\n", "
\n", "
0x29 = 1_010_01 = -0b1.01*2^-1  = -0.625
\n", "
\n", "
0x0a = 0_010_10 = +0b1.10*2^-1  = 0.75
\n", "
\n", "
0x2a = 1_010_10 = -0b1.10*2^-1  = -0.75
\n", "
\n", "
0x0b = 0_010_11 = +0b1.11*2^-1  = 0.875
\n", "
\n", "
0x2b = 1_010_11 = -0b1.11*2^-1  = -0.875
\n", "
\n", "
0x0c = 0_011_00 = +0b1.00*2^0   = 1.0
\n", "
\n", "
0x2c = 1_011_00 = -0b1.00*2^0   = -1.0
\n", "
\n", "
0x0d = 0_011_01 = +0b1.01*2^0   = 1.25
\n", "
\n", "
0x2d = 1_011_01 = -0b1.01*2^0   = -1.25
\n", "
\n", "
0x0e = 0_011_10 = +0b1.10*2^0   = 1.5
\n", "
\n", "
0x2e = 1_011_10 = -0b1.10*2^0   = -1.5
\n", "
\n", "
0x0f = 0_011_11 = +0b1.11*2^0   = 1.75
\n", "
\n", "
0x2f = 1_011_11 = -0b1.11*2^0   = -1.75
\n", "
\n", "
0x10 = 0_100_00 = +0b1.00*2^1   = 2.0
\n", "
\n", "
0x30 = 1_100_00 = -0b1.00*2^1   = -2.0
\n", "
\n", "
0x11 = 0_100_01 = +0b1.01*2^1   = 2.5
\n", "
\n", "
0x31 = 1_100_01 = -0b1.01*2^1   = -2.5
\n", "
\n", "
0x12 = 0_100_10 = +0b1.10*2^1   = 3.0
\n", "
\n", "
0x32 = 1_100_10 = -0b1.10*2^1   = -3.0
\n", "
......
\n", "
0x1b = 0_110_11 = +0b1.11*2^3   = 14.0
\n", "
\n", "
0x3b = 1_110_11 = -0b1.11*2^3   = -14.0
\n", "
\n", "
0x1c = 0_111_00 = +0b1.00*2^4   = 16.0
\n", "
\n", "
0x3c = 1_111_00 = -0b1.00*2^4   = -16.0
\n", "
\n", "
0x1d = 0_111_01 = +0b1.01*2^4   = 20.0
\n", "
\n", "
0x3d = 1_111_01 = -0b1.01*2^4   = -20.0
\n", "
\n", "
0x1e = 0_111_10 = +0b1.10*2^4   = 24.0
\n", "
\n", "
0x3e = 1_111_10 = -0b1.10*2^4   = -24.0
\n", "
\n", "
0x1f = 0_111_11 = +0b1.11*2^4   = 28.0
\n", "
\n", "
0x3f = 1_111_11 = -0b1.11*2^4   = -28.0
\n", "
\n", " \n", "" ], "text/plain": [ "" ] }, "execution_count": 6, "metadata": {}, "output_type": "execute_result" } ], "source": [ "def mktbl(\n", " airium_in, fi: FormatInfo, cols=4, skip_rows=None, dark=True, short=False, **kw\n", "):\n", " # Make tables\n", " nvals = 2**fi.bits\n", " rows = nvals // cols\n", "\n", " # dark = True # Used @media selector in CSS, but it doesn't work inside vscode\n", " css = \"\"\n", "\n", " def value_style(fv):\n", " if fv.fclass == FloatClass.SUBNORMAL:\n", " return \"color: #0df\" if dark else \"color: #02b\"\n", "\n", " if not (\n", " fv.fclass == FloatClass.NORMAL\n", " or fv.fclass == FloatClass.ZERO\n", " and not fv.signbit\n", " ):\n", " return \"color: #d80\" if dark else \"color: #952\"\n", "\n", " return \"\"\n", "\n", " title = f\"FP{fi.k} Value Table, {fi.name}\"\n", " a = airium_in\n", "\n", " with a.table(klass=\"zmktbl\"):\n", " for i in range(0, rows):\n", " if skip_rows and i in skip_rows:\n", " if i - 1 not in skip_rows:\n", " with a.tr(klass=\"zmktbl\"):\n", " for x in range(cols):\n", " a.td(klass=\"zmktbl\", _t=\"...\", style=\"text-align: center;\")\n", " continue\n", " if i > 0 and i % 16 == 0:\n", " # blank row\n", " trstyle = \"blankrow\"\n", " else:\n", " trstyle = \"datarow\"\n", " with a.tr(klass=\"zmktbl \" + trstyle):\n", " for n in range(i, nvals, rows):\n", " fv = decode_float(fi, n)\n", " h = hex(fi, fv)\n", " b = str_bits_with_underscores(fi, fv)\n", " b2 = binary_pow2(fi, fv)\n", " v = float_tilde_unless_roundtrip_str(fv.fval, **kw)\n", " if short:\n", " text = v\n", " else:\n", " text = \" = \".join([h, b, b2, v])\n", " with a.td(klass=\"zmktbl\", style=\"text-align: left;\"):\n", " a.pre(klass=\"zmktbl\", _t=text, style=value_style(fv))\n", " css += \"\"\"\n", " table.zmktbl {\n", " margin: 0pt;\n", " border-collapse: collapse; \n", " }\n", " tr.zmktbl {\n", " margin: 0;\n", " }\n", " td.zmktbl {\n", " border: 1px solid;\n", " }\n", " pre.zmktbl {\n", " margin: 4pt 1pt 1pt 13pt; \n", " display: inline;\n", " font-family: monospace;\n", " font-size: 16px;\n", " font-weight: bold;\n", " }\n", " \"\"\"\n", "\n", " return css, a, title\n", "\n", "\n", "import contextlib\n", "from airium import Airium\n", "\n", "\n", "def airdoc(css, html, title):\n", " a = Airium()\n", " a(\"\")\n", " a.style(_t=css)\n", " with a.html():\n", " with a.head():\n", " a.meta(charset=\"utf-8\")\n", " a.title(_t=title)\n", " with a.body():\n", " a.h3(_t=title)\n", " a.div(_t=html)\n", "\n", " return str(a)\n", "\n", "\n", "skip_rows = set(range(5, 9)) | set(range(0x13, 0x1B))\n", "ad = airdoc(*mktbl(Airium(), format_info_ocp_e3m2, cols=2, skip_rows=skip_rows))\n", "with open(\"/tmp/aa.html\", \"w\") as f:\n", " f.write(ad)\n", "HTML(ad)" ] }, { "cell_type": "markdown", "id": "5a12d4f2", "metadata": {}, "source": [ "### OCP E2M1\n", "\n", "This is a 4-bit format, without Inf or NaN" ] }, { "cell_type": "code", "execution_count": 7, "id": "1a804374", "metadata": {}, "outputs": [ { "data": { "text/html": [ "\n", "\n", "\n", " \n", " \n", " FP4 Value Table, ocp_e2m1\n", " \n", " \n", "

FP4 Value Table, ocp_e2m1

\n", "
\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
\n", "
0x00 = 0_00_0 = 0.0 = 0.0
\n", "
\n", "
0x01 = 0_00_1 = +0b0.1*2^0   = 0.5
\n", "
\n", "
0x02 = 0_01_0 = +0b1.0*2^0   = 1.0
\n", "
\n", "
0x03 = 0_01_1 = +0b1.1*2^0   = 1.5
\n", "
\n", "
0x04 = 0_10_0 = +0b1.0*2^1   = 2.0
\n", "
\n", "
0x05 = 0_10_1 = +0b1.1*2^1   = 3.0
\n", "
\n", "
0x06 = 0_11_0 = +0b1.0*2^2   = 4.0
\n", "
\n", "
0x07 = 0_11_1 = +0b1.1*2^2   = 6.0
\n", "
\n", "
0x08 = 1_00_0 = -0.0 = -0.0
\n", "
\n", "
0x09 = 1_00_1 = -0b0.1*2^0   = -0.5
\n", "
\n", "
0x0a = 1_01_0 = -0b1.0*2^0   = -1.0
\n", "
\n", "
0x0b = 1_01_1 = -0b1.1*2^0   = -1.5
\n", "
\n", "
0x0c = 1_10_0 = -0b1.0*2^1   = -2.0
\n", "
\n", "
0x0d = 1_10_1 = -0b1.1*2^1   = -3.0
\n", "
\n", "
0x0e = 1_11_0 = -0b1.0*2^2   = -4.0
\n", "
\n", "
0x0f = 1_11_1 = -0b1.1*2^2   = -6.0
\n", "
\n", " \n", "" ], "text/plain": [ "" ] }, "execution_count": 7, "metadata": {}, "output_type": "execute_result" } ], "source": [ "HTML(airdoc(*mktbl(Airium(), format_info_ocp_e2m1, cols=1, width=8, d=3)))" ] }, { "cell_type": "markdown", "id": "34de9460", "metadata": {}, "source": [ "## A range of 4-bit formats\n", "\n", "IEEE P3109 defines a range of 4-bit formats, varying precision, signedness, and domain.\n", "Here we generate four tables for each precision.\n", "\n", "Some observations about the formats: \n", " - the p=1 formats are pure-exponent formats\n", " - the p=3 signed format is linear, but the p=3 unsigned format is floating\n", " - the p=4 unsigned format is linear, the p=4 signed format is identical to p=3" ] }, { "cell_type": "code", "execution_count": 8, "id": "d07d33e3", "metadata": {}, "outputs": [ { "data": { "text/html": [ "\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", "

\n", "
\n", "\n", "
\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
p3109_k4p1sep3109_k4p2sep3109_k4p3seocp_e2m1
\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
\n", "
0.0
\n", "
\n", "
0.125
\n", "
\n", "
0.25
\n", "
\n", "
0.5
\n", "
\n", "
1.0
\n", "
\n", "
2.0
\n", "
\n", "
4.0
\n", "
\n", "
inf
\n", "
\n", "
nan
\n", "
\n", "
-0.125
\n", "
\n", "
-0.25
\n", "
\n", "
-0.5
\n", "
\n", "
-1.0
\n", "
\n", "
-2.0
\n", "
\n", "
-4.0
\n", "
\n", "
-inf
\n", "
\n", "
\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
\n", "
0.0
\n", "
\n", "
0.25
\n", "
\n", "
0.5
\n", "
\n", "
0.75
\n", "
\n", "
1.0
\n", "
\n", "
1.5
\n", "
\n", "
2.0
\n", "
\n", "
inf
\n", "
\n", "
nan
\n", "
\n", "
-0.25
\n", "
\n", "
-0.5
\n", "
\n", "
-0.75
\n", "
\n", "
-1.0
\n", "
\n", "
-1.5
\n", "
\n", "
-2.0
\n", "
\n", "
-inf
\n", "
\n", "
\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
\n", "
0.0
\n", "
\n", "
0.25
\n", "
\n", "
0.5
\n", "
\n", "
0.75
\n", "
\n", "
1.0
\n", "
\n", "
1.25
\n", "
\n", "
1.5
\n", "
\n", "
inf
\n", "
\n", "
nan
\n", "
\n", "
-0.25
\n", "
\n", "
-0.5
\n", "
\n", "
-0.75
\n", "
\n", "
-1.0
\n", "
\n", "
-1.25
\n", "
\n", "
-1.5
\n", "
\n", "
-inf
\n", "
\n", "
\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
\n", "
0.0
\n", "
\n", "
0.5
\n", "
\n", "
1.0
\n", "
\n", "
1.5
\n", "
\n", "
2.0
\n", "
\n", "
3.0
\n", "
\n", "
4.0
\n", "
\n", "
6.0
\n", "
\n", "
-0.0
\n", "
\n", "
-0.5
\n", "
\n", "
-1.0
\n", "
\n", "
-1.5
\n", "
\n", "
-2.0
\n", "
\n", "
-3.0
\n", "
\n", "
-4.0
\n", "
\n", "
-6.0
\n", "
\n", "
\n", "
\n", " \n", "" ], "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", "

\n", "
\n", "\n", "
\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
p3109_k4p1sep3109_k4p2sep3109_k4p3se
\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
\n", "
0x00 = 0_000_ = 0.0 = 0.0
\n", "
\n", "
0x01 = 0_001_ = +0b1.0*2^-3  = 0.125
\n", "
\n", "
0x02 = 0_010_ = +0b1.0*2^-2  = 0.25
\n", "
\n", "
0x03 = 0_011_ = +0b1.0*2^-1  = 0.5
\n", "
\n", "
0x04 = 0_100_ = +0b1.0*2^0   = 1.0
\n", "
\n", "
0x05 = 0_101_ = +0b1.0*2^1   = 2.0
\n", "
\n", "
0x06 = 0_110_ = +0b1.0*2^2   = 4.0
\n", "
\n", "
0x07 = 0_111_ = inf = inf
\n", "
\n", "
0x08 = 1_000_ = nan = nan
\n", "
\n", "
0x09 = 1_001_ = -0b1.0*2^-3  = -0.125
\n", "
\n", "
0x0a = 1_010_ = -0b1.0*2^-2  = -0.25
\n", "
\n", "
0x0b = 1_011_ = -0b1.0*2^-1  = -0.5
\n", "
\n", "
0x0c = 1_100_ = -0b1.0*2^0   = -1.0
\n", "
\n", "
0x0d = 1_101_ = -0b1.0*2^1   = -2.0
\n", "
\n", "
0x0e = 1_110_ = -0b1.0*2^2   = -4.0
\n", "
\n", "
0x0f = 1_111_ = -inf = -inf
\n", "
\n", "
\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
\n", "
0x00 = 0_00_0 = 0.0 = 0.0
\n", "
\n", "
0x01 = 0_00_1 = +0b0.1*2^-1  = 0.25
\n", "
\n", "
0x02 = 0_01_0 = +0b1.0*2^-1  = 0.5
\n", "
\n", "
0x03 = 0_01_1 = +0b1.1*2^-1  = 0.75
\n", "
\n", "
0x04 = 0_10_0 = +0b1.0*2^0   = 1.0
\n", "
\n", "
0x05 = 0_10_1 = +0b1.1*2^0   = 1.5
\n", "
\n", "
0x06 = 0_11_0 = +0b1.0*2^1   = 2.0
\n", "
\n", "
0x07 = 0_11_1 = inf = inf
\n", "
\n", "
0x08 = 1_00_0 = nan = nan
\n", "
\n", "
0x09 = 1_00_1 = -0b0.1*2^-1  = -0.25
\n", "
\n", "
0x0a = 1_01_0 = -0b1.0*2^-1  = -0.5
\n", "
\n", "
0x0b = 1_01_1 = -0b1.1*2^-1  = -0.75
\n", "
\n", "
0x0c = 1_10_0 = -0b1.0*2^0   = -1.0
\n", "
\n", "
0x0d = 1_10_1 = -0b1.1*2^0   = -1.5
\n", "
\n", "
0x0e = 1_11_0 = -0b1.0*2^1   = -2.0
\n", "
\n", "
0x0f = 1_11_1 = -inf = -inf
\n", "
\n", "
\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
\n", "
0x00 = 0_0_00 = 0.0 = 0.0
\n", "
\n", "
0x01 = 0_0_01 = +0b0.01*2^0   = 0.25
\n", "
\n", "
0x02 = 0_0_10 = +0b0.10*2^0   = 0.5
\n", "
\n", "
0x03 = 0_0_11 = +0b0.11*2^0   = 0.75
\n", "
\n", "
0x04 = 0_1_00 = +0b1.00*2^0   = 1.0
\n", "
\n", "
0x05 = 0_1_01 = +0b1.01*2^0   = 1.25
\n", "
\n", "
0x06 = 0_1_10 = +0b1.10*2^0   = 1.5
\n", "
\n", "
0x07 = 0_1_11 = inf = inf
\n", "
\n", "
0x08 = 1_0_00 = nan = nan
\n", "
\n", "
0x09 = 1_0_01 = -0b0.01*2^0   = -0.25
\n", "
\n", "
0x0a = 1_0_10 = -0b0.10*2^0   = -0.5
\n", "
\n", "
0x0b = 1_0_11 = -0b0.11*2^0   = -0.75
\n", "
\n", "
0x0c = 1_1_00 = -0b1.00*2^0   = -1.0
\n", "
\n", "
0x0d = 1_1_01 = -0b1.01*2^0   = -1.25
\n", "
\n", "
0x0e = 1_1_10 = -0b1.10*2^0   = -1.5
\n", "
\n", "
0x0f = 1_1_11 = -inf = -inf
\n", "
\n", "
\n", "
\n", " \n", "" ], "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "# Convert to PNG\n", "import IPython\n", "\n", "\n", "def render(fis, short=True):\n", " html = airdoc(*fourtables(fis, short=short, dark=False))\n", " display(HTML(html))\n", "\n", "\n", "def fourtables(fis, **kw):\n", " a = airium.Airium()\n", " a(\"\")\n", " a.style(\n", " _t=\"\"\"\n", " table {\n", " font-family: monospace;\n", " text-align: left;\n", " font-size: 1.3em;\n", " }\n", " .fourtables-td table {\n", " width: 100%;\n", " }\n", " td.zmktbl {\n", " border: 0px solid;\n", " }\n", " pre.zmktbl {\n", " }\n", " .fourtables-td tr:nth-child(odd) {\n", " background-color: #eee;\n", " }\n", " .fourtables-td tr:nth-child(even) {\n", " background-color: #ccc;\n", " }\n", " \"\"\"\n", " )\n", " with a.div(style=\"width:1200px; background-color: #fff; color: black;\"):\n", " with a.table(klass=\"fourtables-table\"):\n", " for row in (0, 1):\n", " with a.tr(style=\"width:100%;\"):\n", " for fi in fis:\n", " if row == 0:\n", " a.th(klass=\"fourtables-th\", _t=f\"{fi}\")\n", " else:\n", " with a.td(\n", " klass=\"fourtables-td\",\n", " style=\"width:248px;\",\n", " ):\n", " css, html, title = mktbl(\n", " a, fi, cols=1, width=8, d=4, **kw\n", " )\n", "\n", " return css, str(a), \"\"\n", "\n", "\n", "render([format_info_p3109(4, p) for p in range(1, 4)] + [format_info_ocp_e2m1])\n", "render([format_info_p3109(4, p) for p in range(1, 4)], short=False)" ] }, { "cell_type": "code", "execution_count": 9, "id": "55b0c629", "metadata": {}, "outputs": [ { "data": { "text/html": [ "\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", "

\n", "
\n", "\n", "
\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
p3109_k4p1sep3109_k4p1sfp3109_k4p1uep3109_k4p1uf
\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
\n", "
0x00 = 0_000_ = 0.0 = 0.0
\n", "
\n", "
0x01 = 0_001_ = +0b1.0*2^-3  = 0.125
\n", "
\n", "
0x02 = 0_010_ = +0b1.0*2^-2  = 0.25
\n", "
\n", "
0x03 = 0_011_ = +0b1.0*2^-1  = 0.5
\n", "
\n", "
0x04 = 0_100_ = +0b1.0*2^0   = 1.0
\n", "
\n", "
0x05 = 0_101_ = +0b1.0*2^1   = 2.0
\n", "
\n", "
0x06 = 0_110_ = +0b1.0*2^2   = 4.0
\n", "
\n", "
0x07 = 0_111_ = inf = inf
\n", "
\n", "
0x08 = 1_000_ = nan = nan
\n", "
\n", "
0x09 = 1_001_ = -0b1.0*2^-3  = -0.125
\n", "
\n", "
0x0a = 1_010_ = -0b1.0*2^-2  = -0.25
\n", "
\n", "
0x0b = 1_011_ = -0b1.0*2^-1  = -0.5
\n", "
\n", "
0x0c = 1_100_ = -0b1.0*2^0   = -1.0
\n", "
\n", "
0x0d = 1_101_ = -0b1.0*2^1   = -2.0
\n", "
\n", "
0x0e = 1_110_ = -0b1.0*2^2   = -4.0
\n", "
\n", "
0x0f = 1_111_ = -inf = -inf
\n", "
\n", "
\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
\n", "
0x00 = 0_000_ = 0.0 = 0.0
\n", "
\n", "
0x01 = 0_001_ = +0b1.0*2^-3  = 0.125
\n", "
\n", "
0x02 = 0_010_ = +0b1.0*2^-2  = 0.25
\n", "
\n", "
0x03 = 0_011_ = +0b1.0*2^-1  = 0.5
\n", "
\n", "
0x04 = 0_100_ = +0b1.0*2^0   = 1.0
\n", "
\n", "
0x05 = 0_101_ = +0b1.0*2^1   = 2.0
\n", "
\n", "
0x06 = 0_110_ = +0b1.0*2^2   = 4.0
\n", "
\n", "
0x07 = 0_111_ = +0b1.0*2^3   = 8.0
\n", "
\n", "
0x08 = 1_000_ = nan = nan
\n", "
\n", "
0x09 = 1_001_ = -0b1.0*2^-3  = -0.125
\n", "
\n", "
0x0a = 1_010_ = -0b1.0*2^-2  = -0.25
\n", "
\n", "
0x0b = 1_011_ = -0b1.0*2^-1  = -0.5
\n", "
\n", "
0x0c = 1_100_ = -0b1.0*2^0   = -1.0
\n", "
\n", "
0x0d = 1_101_ = -0b1.0*2^1   = -2.0
\n", "
\n", "
0x0e = 1_110_ = -0b1.0*2^2   = -4.0
\n", "
\n", "
0x0f = 1_111_ = -0b1.0*2^3   = -8.0
\n", "
\n", "
\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
\n", "
0x00 = 0000_ = 0.0 = 0.0
\n", "
\n", "
0x01 = 0001_ = +0b1.0*2^-7  = ~0.0078
\n", "
\n", "
0x02 = 0010_ = +0b1.0*2^-6  = 0.015625
\n", "
\n", "
0x03 = 0011_ = +0b1.0*2^-5  = 0.03125
\n", "
\n", "
0x04 = 0100_ = +0b1.0*2^-4  = 0.0625
\n", "
\n", "
0x05 = 0101_ = +0b1.0*2^-3  = 0.125
\n", "
\n", "
0x06 = 0110_ = +0b1.0*2^-2  = 0.25
\n", "
\n", "
0x07 = 0111_ = +0b1.0*2^-1  = 0.5
\n", "
\n", "
0x08 = 1000_ = +0b1.0*2^0   = 1.0
\n", "
\n", "
0x09 = 1001_ = +0b1.0*2^1   = 2.0
\n", "
\n", "
0x0a = 1010_ = +0b1.0*2^2   = 4.0
\n", "
\n", "
0x0b = 1011_ = +0b1.0*2^3   = 8.0
\n", "
\n", "
0x0c = 1100_ = +0b1.0*2^4   = 16.0
\n", "
\n", "
0x0d = 1101_ = +0b1.0*2^5   = 32.0
\n", "
\n", "
0x0e = 1110_ = inf = inf
\n", "
\n", "
0x0f = 1111_ = nan = nan
\n", "
\n", "
\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
\n", "
0x00 = 0000_ = 0.0 = 0.0
\n", "
\n", "
0x01 = 0001_ = +0b1.0*2^-7  = ~0.0078
\n", "
\n", "
0x02 = 0010_ = +0b1.0*2^-6  = 0.015625
\n", "
\n", "
0x03 = 0011_ = +0b1.0*2^-5  = 0.03125
\n", "
\n", "
0x04 = 0100_ = +0b1.0*2^-4  = 0.0625
\n", "
\n", "
0x05 = 0101_ = +0b1.0*2^-3  = 0.125
\n", "
\n", "
0x06 = 0110_ = +0b1.0*2^-2  = 0.25
\n", "
\n", "
0x07 = 0111_ = +0b1.0*2^-1  = 0.5
\n", "
\n", "
0x08 = 1000_ = +0b1.0*2^0   = 1.0
\n", "
\n", "
0x09 = 1001_ = +0b1.0*2^1   = 2.0
\n", "
\n", "
0x0a = 1010_ = +0b1.0*2^2   = 4.0
\n", "
\n", "
0x0b = 1011_ = +0b1.0*2^3   = 8.0
\n", "
\n", "
0x0c = 1100_ = +0b1.0*2^4   = 16.0
\n", "
\n", "
0x0d = 1101_ = +0b1.0*2^5   = 32.0
\n", "
\n", "
0x0e = 1110_ = +0b1.0*2^6   = 64.0
\n", "
\n", "
0x0f = 1111_ = nan = nan
\n", "
\n", "
\n", "
\n", " \n", "" ], "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", "

\n", "
\n", "\n", "
\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
p3109_k4p2sep3109_k4p2sfp3109_k4p2uep3109_k4p2uf
\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
\n", "
0x00 = 0_00_0 = 0.0 = 0.0
\n", "
\n", "
0x01 = 0_00_1 = +0b0.1*2^-1  = 0.25
\n", "
\n", "
0x02 = 0_01_0 = +0b1.0*2^-1  = 0.5
\n", "
\n", "
0x03 = 0_01_1 = +0b1.1*2^-1  = 0.75
\n", "
\n", "
0x04 = 0_10_0 = +0b1.0*2^0   = 1.0
\n", "
\n", "
0x05 = 0_10_1 = +0b1.1*2^0   = 1.5
\n", "
\n", "
0x06 = 0_11_0 = +0b1.0*2^1   = 2.0
\n", "
\n", "
0x07 = 0_11_1 = inf = inf
\n", "
\n", "
0x08 = 1_00_0 = nan = nan
\n", "
\n", "
0x09 = 1_00_1 = -0b0.1*2^-1  = -0.25
\n", "
\n", "
0x0a = 1_01_0 = -0b1.0*2^-1  = -0.5
\n", "
\n", "
0x0b = 1_01_1 = -0b1.1*2^-1  = -0.75
\n", "
\n", "
0x0c = 1_10_0 = -0b1.0*2^0   = -1.0
\n", "
\n", "
0x0d = 1_10_1 = -0b1.1*2^0   = -1.5
\n", "
\n", "
0x0e = 1_11_0 = -0b1.0*2^1   = -2.0
\n", "
\n", "
0x0f = 1_11_1 = -inf = -inf
\n", "
\n", "
\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
\n", "
0x00 = 0_00_0 = 0.0 = 0.0
\n", "
\n", "
0x01 = 0_00_1 = +0b0.1*2^-1  = 0.25
\n", "
\n", "
0x02 = 0_01_0 = +0b1.0*2^-1  = 0.5
\n", "
\n", "
0x03 = 0_01_1 = +0b1.1*2^-1  = 0.75
\n", "
\n", "
0x04 = 0_10_0 = +0b1.0*2^0   = 1.0
\n", "
\n", "
0x05 = 0_10_1 = +0b1.1*2^0   = 1.5
\n", "
\n", "
0x06 = 0_11_0 = +0b1.0*2^1   = 2.0
\n", "
\n", "
0x07 = 0_11_1 = +0b1.1*2^1   = 3.0
\n", "
\n", "
0x08 = 1_00_0 = nan = nan
\n", "
\n", "
0x09 = 1_00_1 = -0b0.1*2^-1  = -0.25
\n", "
\n", "
0x0a = 1_01_0 = -0b1.0*2^-1  = -0.5
\n", "
\n", "
0x0b = 1_01_1 = -0b1.1*2^-1  = -0.75
\n", "
\n", "
0x0c = 1_10_0 = -0b1.0*2^0   = -1.0
\n", "
\n", "
0x0d = 1_10_1 = -0b1.1*2^0   = -1.5
\n", "
\n", "
0x0e = 1_11_0 = -0b1.0*2^1   = -2.0
\n", "
\n", "
0x0f = 1_11_1 = -0b1.1*2^1   = -3.0
\n", "
\n", "
\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
\n", "
0x00 = 000_0 = 0.0 = 0.0
\n", "
\n", "
0x01 = 000_1 = +0b0.1*2^-3  = 0.0625
\n", "
\n", "
0x02 = 001_0 = +0b1.0*2^-3  = 0.125
\n", "
\n", "
0x03 = 001_1 = +0b1.1*2^-3  = 0.1875
\n", "
\n", "
0x04 = 010_0 = +0b1.0*2^-2  = 0.25
\n", "
\n", "
0x05 = 010_1 = +0b1.1*2^-2  = 0.375
\n", "
\n", "
0x06 = 011_0 = +0b1.0*2^-1  = 0.5
\n", "
\n", "
0x07 = 011_1 = +0b1.1*2^-1  = 0.75
\n", "
\n", "
0x08 = 100_0 = +0b1.0*2^0   = 1.0
\n", "
\n", "
0x09 = 100_1 = +0b1.1*2^0   = 1.5
\n", "
\n", "
0x0a = 101_0 = +0b1.0*2^1   = 2.0
\n", "
\n", "
0x0b = 101_1 = +0b1.1*2^1   = 3.0
\n", "
\n", "
0x0c = 110_0 = +0b1.0*2^2   = 4.0
\n", "
\n", "
0x0d = 110_1 = +0b1.1*2^2   = 6.0
\n", "
\n", "
0x0e = 111_0 = inf = inf
\n", "
\n", "
0x0f = 111_1 = nan = nan
\n", "
\n", "
\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
\n", "
0x00 = 000_0 = 0.0 = 0.0
\n", "
\n", "
0x01 = 000_1 = +0b0.1*2^-3  = 0.0625
\n", "
\n", "
0x02 = 001_0 = +0b1.0*2^-3  = 0.125
\n", "
\n", "
0x03 = 001_1 = +0b1.1*2^-3  = 0.1875
\n", "
\n", "
0x04 = 010_0 = +0b1.0*2^-2  = 0.25
\n", "
\n", "
0x05 = 010_1 = +0b1.1*2^-2  = 0.375
\n", "
\n", "
0x06 = 011_0 = +0b1.0*2^-1  = 0.5
\n", "
\n", "
0x07 = 011_1 = +0b1.1*2^-1  = 0.75
\n", "
\n", "
0x08 = 100_0 = +0b1.0*2^0   = 1.0
\n", "
\n", "
0x09 = 100_1 = +0b1.1*2^0   = 1.5
\n", "
\n", "
0x0a = 101_0 = +0b1.0*2^1   = 2.0
\n", "
\n", "
0x0b = 101_1 = +0b1.1*2^1   = 3.0
\n", "
\n", "
0x0c = 110_0 = +0b1.0*2^2   = 4.0
\n", "
\n", "
0x0d = 110_1 = +0b1.1*2^2   = 6.0
\n", "
\n", "
0x0e = 111_0 = +0b1.0*2^3   = 8.0
\n", "
\n", "
0x0f = 111_1 = nan = nan
\n", "
\n", "
\n", "
\n", " \n", "" ], "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", "

\n", "
\n", "\n", "
\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
p3109_k4p3sep3109_k4p3sfp3109_k4p3uep3109_k4p3uf
\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
\n", "
0x00 = 0_0_00 = 0.0 = 0.0
\n", "
\n", "
0x01 = 0_0_01 = +0b0.01*2^0   = 0.25
\n", "
\n", "
0x02 = 0_0_10 = +0b0.10*2^0   = 0.5
\n", "
\n", "
0x03 = 0_0_11 = +0b0.11*2^0   = 0.75
\n", "
\n", "
0x04 = 0_1_00 = +0b1.00*2^0   = 1.0
\n", "
\n", "
0x05 = 0_1_01 = +0b1.01*2^0   = 1.25
\n", "
\n", "
0x06 = 0_1_10 = +0b1.10*2^0   = 1.5
\n", "
\n", "
0x07 = 0_1_11 = inf = inf
\n", "
\n", "
0x08 = 1_0_00 = nan = nan
\n", "
\n", "
0x09 = 1_0_01 = -0b0.01*2^0   = -0.25
\n", "
\n", "
0x0a = 1_0_10 = -0b0.10*2^0   = -0.5
\n", "
\n", "
0x0b = 1_0_11 = -0b0.11*2^0   = -0.75
\n", "
\n", "
0x0c = 1_1_00 = -0b1.00*2^0   = -1.0
\n", "
\n", "
0x0d = 1_1_01 = -0b1.01*2^0   = -1.25
\n", "
\n", "
0x0e = 1_1_10 = -0b1.10*2^0   = -1.5
\n", "
\n", "
0x0f = 1_1_11 = -inf = -inf
\n", "
\n", "
\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
\n", "
0x00 = 0_0_00 = 0.0 = 0.0
\n", "
\n", "
0x01 = 0_0_01 = +0b0.01*2^0   = 0.25
\n", "
\n", "
0x02 = 0_0_10 = +0b0.10*2^0   = 0.5
\n", "
\n", "
0x03 = 0_0_11 = +0b0.11*2^0   = 0.75
\n", "
\n", "
0x04 = 0_1_00 = +0b1.00*2^0   = 1.0
\n", "
\n", "
0x05 = 0_1_01 = +0b1.01*2^0   = 1.25
\n", "
\n", "
0x06 = 0_1_10 = +0b1.10*2^0   = 1.5
\n", "
\n", "
0x07 = 0_1_11 = +0b1.11*2^0   = 1.75
\n", "
\n", "
0x08 = 1_0_00 = nan = nan
\n", "
\n", "
0x09 = 1_0_01 = -0b0.01*2^0   = -0.25
\n", "
\n", "
0x0a = 1_0_10 = -0b0.10*2^0   = -0.5
\n", "
\n", "
0x0b = 1_0_11 = -0b0.11*2^0   = -0.75
\n", "
\n", "
0x0c = 1_1_00 = -0b1.00*2^0   = -1.0
\n", "
\n", "
0x0d = 1_1_01 = -0b1.01*2^0   = -1.25
\n", "
\n", "
0x0e = 1_1_10 = -0b1.10*2^0   = -1.5
\n", "
\n", "
0x0f = 1_1_11 = -0b1.11*2^0   = -1.75
\n", "
\n", "
\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
\n", "
0x00 = 00_00 = 0.0 = 0.0
\n", "
\n", "
0x01 = 00_01 = +0b0.01*2^-1  = 0.125
\n", "
\n", "
0x02 = 00_10 = +0b0.10*2^-1  = 0.25
\n", "
\n", "
0x03 = 00_11 = +0b0.11*2^-1  = 0.375
\n", "
\n", "
0x04 = 01_00 = +0b1.00*2^-1  = 0.5
\n", "
\n", "
0x05 = 01_01 = +0b1.01*2^-1  = 0.625
\n", "
\n", "
0x06 = 01_10 = +0b1.10*2^-1  = 0.75
\n", "
\n", "
0x07 = 01_11 = +0b1.11*2^-1  = 0.875
\n", "
\n", "
0x08 = 10_00 = +0b1.00*2^0   = 1.0
\n", "
\n", "
0x09 = 10_01 = +0b1.01*2^0   = 1.25
\n", "
\n", "
0x0a = 10_10 = +0b1.10*2^0   = 1.5
\n", "
\n", "
0x0b = 10_11 = +0b1.11*2^0   = 1.75
\n", "
\n", "
0x0c = 11_00 = +0b1.00*2^1   = 2.0
\n", "
\n", "
0x0d = 11_01 = +0b1.01*2^1   = 2.5
\n", "
\n", "
0x0e = 11_10 = inf = inf
\n", "
\n", "
0x0f = 11_11 = nan = nan
\n", "
\n", "
\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
\n", "
0x00 = 00_00 = 0.0 = 0.0
\n", "
\n", "
0x01 = 00_01 = +0b0.01*2^-1  = 0.125
\n", "
\n", "
0x02 = 00_10 = +0b0.10*2^-1  = 0.25
\n", "
\n", "
0x03 = 00_11 = +0b0.11*2^-1  = 0.375
\n", "
\n", "
0x04 = 01_00 = +0b1.00*2^-1  = 0.5
\n", "
\n", "
0x05 = 01_01 = +0b1.01*2^-1  = 0.625
\n", "
\n", "
0x06 = 01_10 = +0b1.10*2^-1  = 0.75
\n", "
\n", "
0x07 = 01_11 = +0b1.11*2^-1  = 0.875
\n", "
\n", "
0x08 = 10_00 = +0b1.00*2^0   = 1.0
\n", "
\n", "
0x09 = 10_01 = +0b1.01*2^0   = 1.25
\n", "
\n", "
0x0a = 10_10 = +0b1.10*2^0   = 1.5
\n", "
\n", "
0x0b = 10_11 = +0b1.11*2^0   = 1.75
\n", "
\n", "
0x0c = 11_00 = +0b1.00*2^1   = 2.0
\n", "
\n", "
0x0d = 11_01 = +0b1.01*2^1   = 2.5
\n", "
\n", "
0x0e = 11_10 = +0b1.10*2^1   = 3.0
\n", "
\n", "
0x0f = 11_11 = nan = nan
\n", "
\n", "
\n", "
\n", " \n", "" ], "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", "

\n", "
\n", "\n", "
\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
p3109_k4p4sep3109_k4p4sfp3109_k4p4uep3109_k4p4uf
\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
\n", "
0x00 = 0_000 = 0.0 = 0.0
\n", "
\n", "
0x01 = 0_001 = +0b0.001*2^1   = 0.25
\n", "
\n", "
0x02 = 0_010 = +0b0.010*2^1   = 0.5
\n", "
\n", "
0x03 = 0_011 = +0b0.011*2^1   = 0.75
\n", "
\n", "
0x04 = 0_100 = +0b0.100*2^1   = 1.0
\n", "
\n", "
0x05 = 0_101 = +0b0.101*2^1   = 1.25
\n", "
\n", "
0x06 = 0_110 = +0b0.110*2^1   = 1.5
\n", "
\n", "
0x07 = 0_111 = inf = inf
\n", "
\n", "
0x08 = 1_000 = nan = nan
\n", "
\n", "
0x09 = 1_001 = -0b0.001*2^1   = -0.25
\n", "
\n", "
0x0a = 1_010 = -0b0.010*2^1   = -0.5
\n", "
\n", "
0x0b = 1_011 = -0b0.011*2^1   = -0.75
\n", "
\n", "
0x0c = 1_100 = -0b0.100*2^1   = -1.0
\n", "
\n", "
0x0d = 1_101 = -0b0.101*2^1   = -1.25
\n", "
\n", "
0x0e = 1_110 = -0b0.110*2^1   = -1.5
\n", "
\n", "
0x0f = 1_111 = -inf = -inf
\n", "
\n", "
\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
\n", "
0x00 = 0_000 = 0.0 = 0.0
\n", "
\n", "
0x01 = 0_001 = +0b0.001*2^1   = 0.25
\n", "
\n", "
0x02 = 0_010 = +0b0.010*2^1   = 0.5
\n", "
\n", "
0x03 = 0_011 = +0b0.011*2^1   = 0.75
\n", "
\n", "
0x04 = 0_100 = +0b0.100*2^1   = 1.0
\n", "
\n", "
0x05 = 0_101 = +0b0.101*2^1   = 1.25
\n", "
\n", "
0x06 = 0_110 = +0b0.110*2^1   = 1.5
\n", "
\n", "
0x07 = 0_111 = +0b0.111*2^1   = 1.75
\n", "
\n", "
0x08 = 1_000 = nan = nan
\n", "
\n", "
0x09 = 1_001 = -0b0.001*2^1   = -0.25
\n", "
\n", "
0x0a = 1_010 = -0b0.010*2^1   = -0.5
\n", "
\n", "
0x0b = 1_011 = -0b0.011*2^1   = -0.75
\n", "
\n", "
0x0c = 1_100 = -0b0.100*2^1   = -1.0
\n", "
\n", "
0x0d = 1_101 = -0b0.101*2^1   = -1.25
\n", "
\n", "
0x0e = 1_110 = -0b0.110*2^1   = -1.5
\n", "
\n", "
0x0f = 1_111 = -0b0.111*2^1   = -1.75
\n", "
\n", "
\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
\n", "
0x00 = 0_000 = 0.0 = 0.0
\n", "
\n", "
0x01 = 0_001 = +0b0.001*2^0   = 0.125
\n", "
\n", "
0x02 = 0_010 = +0b0.010*2^0   = 0.25
\n", "
\n", "
0x03 = 0_011 = +0b0.011*2^0   = 0.375
\n", "
\n", "
0x04 = 0_100 = +0b0.100*2^0   = 0.5
\n", "
\n", "
0x05 = 0_101 = +0b0.101*2^0   = 0.625
\n", "
\n", "
0x06 = 0_110 = +0b0.110*2^0   = 0.75
\n", "
\n", "
0x07 = 0_111 = +0b0.111*2^0   = 0.875
\n", "
\n", "
0x08 = 1_000 = +0b1.000*2^0   = 1.0
\n", "
\n", "
0x09 = 1_001 = +0b1.001*2^0   = 1.125
\n", "
\n", "
0x0a = 1_010 = +0b1.010*2^0   = 1.25
\n", "
\n", "
0x0b = 1_011 = +0b1.011*2^0   = 1.375
\n", "
\n", "
0x0c = 1_100 = +0b1.100*2^0   = 1.5
\n", "
\n", "
0x0d = 1_101 = +0b1.101*2^0   = 1.625
\n", "
\n", "
0x0e = 1_110 = inf = inf
\n", "
\n", "
0x0f = 1_111 = nan = nan
\n", "
\n", "
\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
\n", "
0x00 = 0_000 = 0.0 = 0.0
\n", "
\n", "
0x01 = 0_001 = +0b0.001*2^0   = 0.125
\n", "
\n", "
0x02 = 0_010 = +0b0.010*2^0   = 0.25
\n", "
\n", "
0x03 = 0_011 = +0b0.011*2^0   = 0.375
\n", "
\n", "
0x04 = 0_100 = +0b0.100*2^0   = 0.5
\n", "
\n", "
0x05 = 0_101 = +0b0.101*2^0   = 0.625
\n", "
\n", "
0x06 = 0_110 = +0b0.110*2^0   = 0.75
\n", "
\n", "
0x07 = 0_111 = +0b0.111*2^0   = 0.875
\n", "
\n", "
0x08 = 1_000 = +0b1.000*2^0   = 1.0
\n", "
\n", "
0x09 = 1_001 = +0b1.001*2^0   = 1.125
\n", "
\n", "
0x0a = 1_010 = +0b1.010*2^0   = 1.25
\n", "
\n", "
0x0b = 1_011 = +0b1.011*2^0   = 1.375
\n", "
\n", "
0x0c = 1_100 = +0b1.100*2^0   = 1.5
\n", "
\n", "
0x0d = 1_101 = +0b1.101*2^0   = 1.625
\n", "
\n", "
0x0e = 1_110 = +0b1.110*2^0   = 1.75
\n", "
\n", "
0x0f = 1_111 = nan = nan
\n", "
\n", "
\n", "
\n", " \n", "" ], "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "for p in (1, 2, 3, 4):\n", " fis = [\n", " format_info_p3109(4, p, signedness, domain)\n", " for signedness in (Signedness.Signed, Signedness.Unsigned)\n", " for domain in (Domain.Extended, Domain.Finite)\n", " ]\n", " render(fis, short=False)" ] }, { "cell_type": "markdown", "id": "27095cef", "metadata": {}, "source": [ "## Check k=5" ] }, { "cell_type": "code", "execution_count": 10, "id": "c1bbf6b2", "metadata": {}, "outputs": [ { "data": { "text/html": [ "\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", "

\n", "
\n", "\n", "
\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
p3109_k5p1sep3109_k5p1sfp3109_k5p1uep3109_k5p1uf
\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
\n", "
0x00 = 0_0000_ = 0.0 = 0.0
\n", "
\n", "
0x01 = 0_0001_ = +0b1.0*2^-7  = ~0.0078
\n", "
\n", "
0x02 = 0_0010_ = +0b1.0*2^-6  = 0.015625
\n", "
\n", "
0x03 = 0_0011_ = +0b1.0*2^-5  = 0.03125
\n", "
\n", "
0x04 = 0_0100_ = +0b1.0*2^-4  = 0.0625
\n", "
\n", "
0x05 = 0_0101_ = +0b1.0*2^-3  = 0.125
\n", "
\n", "
0x06 = 0_0110_ = +0b1.0*2^-2  = 0.25
\n", "
\n", "
0x07 = 0_0111_ = +0b1.0*2^-1  = 0.5
\n", "
\n", "
0x08 = 0_1000_ = +0b1.0*2^0   = 1.0
\n", "
\n", "
0x09 = 0_1001_ = +0b1.0*2^1   = 2.0
\n", "
\n", "
0x0a = 0_1010_ = +0b1.0*2^2   = 4.0
\n", "
\n", "
0x0b = 0_1011_ = +0b1.0*2^3   = 8.0
\n", "
\n", "
0x0c = 0_1100_ = +0b1.0*2^4   = 16.0
\n", "
\n", "
0x0d = 0_1101_ = +0b1.0*2^5   = 32.0
\n", "
\n", "
0x0e = 0_1110_ = +0b1.0*2^6   = 64.0
\n", "
\n", "
0x0f = 0_1111_ = inf = inf
\n", "
\n", "
0x10 = 1_0000_ = nan = nan
\n", "
\n", "
0x11 = 1_0001_ = -0b1.0*2^-7  = ~-0.0078
\n", "
\n", "
0x12 = 1_0010_ = -0b1.0*2^-6  = ~-0.0156
\n", "
\n", "
0x13 = 1_0011_ = -0b1.0*2^-5  = -0.03125
\n", "
\n", "
0x14 = 1_0100_ = -0b1.0*2^-4  = -0.0625
\n", "
\n", "
0x15 = 1_0101_ = -0b1.0*2^-3  = -0.125
\n", "
\n", "
0x16 = 1_0110_ = -0b1.0*2^-2  = -0.25
\n", "
\n", "
0x17 = 1_0111_ = -0b1.0*2^-1  = -0.5
\n", "
\n", "
0x18 = 1_1000_ = -0b1.0*2^0   = -1.0
\n", "
\n", "
0x19 = 1_1001_ = -0b1.0*2^1   = -2.0
\n", "
\n", "
0x1a = 1_1010_ = -0b1.0*2^2   = -4.0
\n", "
\n", "
0x1b = 1_1011_ = -0b1.0*2^3   = -8.0
\n", "
\n", "
0x1c = 1_1100_ = -0b1.0*2^4   = -16.0
\n", "
\n", "
0x1d = 1_1101_ = -0b1.0*2^5   = -32.0
\n", "
\n", "
0x1e = 1_1110_ = -0b1.0*2^6   = -64.0
\n", "
\n", "
0x1f = 1_1111_ = -inf = -inf
\n", "
\n", "
\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
\n", "
0x00 = 0_0000_ = 0.0 = 0.0
\n", "
\n", "
0x01 = 0_0001_ = +0b1.0*2^-7  = ~0.0078
\n", "
\n", "
0x02 = 0_0010_ = +0b1.0*2^-6  = 0.015625
\n", "
\n", "
0x03 = 0_0011_ = +0b1.0*2^-5  = 0.03125
\n", "
\n", "
0x04 = 0_0100_ = +0b1.0*2^-4  = 0.0625
\n", "
\n", "
0x05 = 0_0101_ = +0b1.0*2^-3  = 0.125
\n", "
\n", "
0x06 = 0_0110_ = +0b1.0*2^-2  = 0.25
\n", "
\n", "
0x07 = 0_0111_ = +0b1.0*2^-1  = 0.5
\n", "
\n", "
0x08 = 0_1000_ = +0b1.0*2^0   = 1.0
\n", "
\n", "
0x09 = 0_1001_ = +0b1.0*2^1   = 2.0
\n", "
\n", "
0x0a = 0_1010_ = +0b1.0*2^2   = 4.0
\n", "
\n", "
0x0b = 0_1011_ = +0b1.0*2^3   = 8.0
\n", "
\n", "
0x0c = 0_1100_ = +0b1.0*2^4   = 16.0
\n", "
\n", "
0x0d = 0_1101_ = +0b1.0*2^5   = 32.0
\n", "
\n", "
0x0e = 0_1110_ = +0b1.0*2^6   = 64.0
\n", "
\n", "
0x0f = 0_1111_ = +0b1.0*2^7   = 128.0
\n", "
\n", "
0x10 = 1_0000_ = nan = nan
\n", "
\n", "
0x11 = 1_0001_ = -0b1.0*2^-7  = ~-0.0078
\n", "
\n", "
0x12 = 1_0010_ = -0b1.0*2^-6  = ~-0.0156
\n", "
\n", "
0x13 = 1_0011_ = -0b1.0*2^-5  = -0.03125
\n", "
\n", "
0x14 = 1_0100_ = -0b1.0*2^-4  = -0.0625
\n", "
\n", "
0x15 = 1_0101_ = -0b1.0*2^-3  = -0.125
\n", "
\n", "
0x16 = 1_0110_ = -0b1.0*2^-2  = -0.25
\n", "
\n", "
0x17 = 1_0111_ = -0b1.0*2^-1  = -0.5
\n", "
\n", "
0x18 = 1_1000_ = -0b1.0*2^0   = -1.0
\n", "
\n", "
0x19 = 1_1001_ = -0b1.0*2^1   = -2.0
\n", "
\n", "
0x1a = 1_1010_ = -0b1.0*2^2   = -4.0
\n", "
\n", "
0x1b = 1_1011_ = -0b1.0*2^3   = -8.0
\n", "
\n", "
0x1c = 1_1100_ = -0b1.0*2^4   = -16.0
\n", "
\n", "
0x1d = 1_1101_ = -0b1.0*2^5   = -32.0
\n", "
\n", "
0x1e = 1_1110_ = -0b1.0*2^6   = -64.0
\n", "
\n", "
0x1f = 1_1111_ = -0b1.0*2^7   = -128.0
\n", "
\n", "
\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
\n", "
0x00 = 00000_ = 0.0 = 0.0
\n", "
\n", "
0x01 = 00001_ = +0b1.0*2^-15 = ~3.052e-05
\n", "
\n", "
0x02 = 00010_ = +0b1.0*2^-14 = ~6.104e-05
\n", "
\n", "
0x03 = 00011_ = +0b1.0*2^-13 = ~0.0001
\n", "
\n", "
0x04 = 00100_ = +0b1.0*2^-12 = ~0.0002
\n", "
\n", "
0x05 = 00101_ = +0b1.0*2^-11 = ~0.0005
\n", "
\n", "
0x06 = 00110_ = +0b1.0*2^-10 = ~0.0010
\n", "
\n", "
0x07 = 00111_ = +0b1.0*2^-9  = ~0.0020
\n", "
\n", "
0x08 = 01000_ = +0b1.0*2^-8  = ~0.0039
\n", "
\n", "
0x09 = 01001_ = +0b1.0*2^-7  = ~0.0078
\n", "
\n", "
0x0a = 01010_ = +0b1.0*2^-6  = 0.015625
\n", "
\n", "
0x0b = 01011_ = +0b1.0*2^-5  = 0.03125
\n", "
\n", "
0x0c = 01100_ = +0b1.0*2^-4  = 0.0625
\n", "
\n", "
0x0d = 01101_ = +0b1.0*2^-3  = 0.125
\n", "
\n", "
0x0e = 01110_ = +0b1.0*2^-2  = 0.25
\n", "
\n", "
0x0f = 01111_ = +0b1.0*2^-1  = 0.5
\n", "
\n", "
0x10 = 10000_ = +0b1.0*2^0   = 1.0
\n", "
\n", "
0x11 = 10001_ = +0b1.0*2^1   = 2.0
\n", "
\n", "
0x12 = 10010_ = +0b1.0*2^2   = 4.0
\n", "
\n", "
0x13 = 10011_ = +0b1.0*2^3   = 8.0
\n", "
\n", "
0x14 = 10100_ = +0b1.0*2^4   = 16.0
\n", "
\n", "
0x15 = 10101_ = +0b1.0*2^5   = 32.0
\n", "
\n", "
0x16 = 10110_ = +0b1.0*2^6   = 64.0
\n", "
\n", "
0x17 = 10111_ = +0b1.0*2^7   = 128.0
\n", "
\n", "
0x18 = 11000_ = +0b1.0*2^8   = 256.0
\n", "
\n", "
0x19 = 11001_ = +0b1.0*2^9   = 512.0
\n", "
\n", "
0x1a = 11010_ = +0b1.0*2^10  = 1024.0
\n", "
\n", "
0x1b = 11011_ = +0b1.0*2^11  = 2048.0
\n", "
\n", "
0x1c = 11100_ = +0b1.0*2^12  = 4096.0
\n", "
\n", "
0x1d = 11101_ = +0b1.0*2^13  = 8192.0
\n", "
\n", "
0x1e = 11110_ = inf = inf
\n", "
\n", "
0x1f = 11111_ = nan = nan
\n", "
\n", "
\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
\n", "
0x00 = 00000_ = 0.0 = 0.0
\n", "
\n", "
0x01 = 00001_ = +0b1.0*2^-15 = ~3.052e-05
\n", "
\n", "
0x02 = 00010_ = +0b1.0*2^-14 = ~6.104e-05
\n", "
\n", "
0x03 = 00011_ = +0b1.0*2^-13 = ~0.0001
\n", "
\n", "
0x04 = 00100_ = +0b1.0*2^-12 = ~0.0002
\n", "
\n", "
0x05 = 00101_ = +0b1.0*2^-11 = ~0.0005
\n", "
\n", "
0x06 = 00110_ = +0b1.0*2^-10 = ~0.0010
\n", "
\n", "
0x07 = 00111_ = +0b1.0*2^-9  = ~0.0020
\n", "
\n", "
0x08 = 01000_ = +0b1.0*2^-8  = ~0.0039
\n", "
\n", "
0x09 = 01001_ = +0b1.0*2^-7  = ~0.0078
\n", "
\n", "
0x0a = 01010_ = +0b1.0*2^-6  = 0.015625
\n", "
\n", "
0x0b = 01011_ = +0b1.0*2^-5  = 0.03125
\n", "
\n", "
0x0c = 01100_ = +0b1.0*2^-4  = 0.0625
\n", "
\n", "
0x0d = 01101_ = +0b1.0*2^-3  = 0.125
\n", "
\n", "
0x0e = 01110_ = +0b1.0*2^-2  = 0.25
\n", "
\n", "
0x0f = 01111_ = +0b1.0*2^-1  = 0.5
\n", "
\n", "
0x10 = 10000_ = +0b1.0*2^0   = 1.0
\n", "
\n", "
0x11 = 10001_ = +0b1.0*2^1   = 2.0
\n", "
\n", "
0x12 = 10010_ = +0b1.0*2^2   = 4.0
\n", "
\n", "
0x13 = 10011_ = +0b1.0*2^3   = 8.0
\n", "
\n", "
0x14 = 10100_ = +0b1.0*2^4   = 16.0
\n", "
\n", "
0x15 = 10101_ = +0b1.0*2^5   = 32.0
\n", "
\n", "
0x16 = 10110_ = +0b1.0*2^6   = 64.0
\n", "
\n", "
0x17 = 10111_ = +0b1.0*2^7   = 128.0
\n", "
\n", "
0x18 = 11000_ = +0b1.0*2^8   = 256.0
\n", "
\n", "
0x19 = 11001_ = +0b1.0*2^9   = 512.0
\n", "
\n", "
0x1a = 11010_ = +0b1.0*2^10  = 1024.0
\n", "
\n", "
0x1b = 11011_ = +0b1.0*2^11  = 2048.0
\n", "
\n", "
0x1c = 11100_ = +0b1.0*2^12  = 4096.0
\n", "
\n", "
0x1d = 11101_ = +0b1.0*2^13  = 8192.0
\n", "
\n", "
0x1e = 11110_ = +0b1.0*2^14  = 16384.0
\n", "
\n", "
0x1f = 11111_ = nan = nan
\n", "
\n", "
\n", "
\n", " \n", "" ], "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", "

\n", "
\n", "\n", "
\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
p3109_k5p2sep3109_k5p2sfp3109_k5p2uep3109_k5p2uf
\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
\n", "
0x00 = 0_000_0 = 0.0 = 0.0
\n", "
\n", "
0x01 = 0_000_1 = +0b0.1*2^-3  = 0.0625
\n", "
\n", "
0x02 = 0_001_0 = +0b1.0*2^-3  = 0.125
\n", "
\n", "
0x03 = 0_001_1 = +0b1.1*2^-3  = 0.1875
\n", "
\n", "
0x04 = 0_010_0 = +0b1.0*2^-2  = 0.25
\n", "
\n", "
0x05 = 0_010_1 = +0b1.1*2^-2  = 0.375
\n", "
\n", "
0x06 = 0_011_0 = +0b1.0*2^-1  = 0.5
\n", "
\n", "
0x07 = 0_011_1 = +0b1.1*2^-1  = 0.75
\n", "
\n", "
0x08 = 0_100_0 = +0b1.0*2^0   = 1.0
\n", "
\n", "
0x09 = 0_100_1 = +0b1.1*2^0   = 1.5
\n", "
\n", "
0x0a = 0_101_0 = +0b1.0*2^1   = 2.0
\n", "
\n", "
0x0b = 0_101_1 = +0b1.1*2^1   = 3.0
\n", "
\n", "
0x0c = 0_110_0 = +0b1.0*2^2   = 4.0
\n", "
\n", "
0x0d = 0_110_1 = +0b1.1*2^2   = 6.0
\n", "
\n", "
0x0e = 0_111_0 = +0b1.0*2^3   = 8.0
\n", "
\n", "
0x0f = 0_111_1 = inf = inf
\n", "
\n", "
0x10 = 1_000_0 = nan = nan
\n", "
\n", "
0x11 = 1_000_1 = -0b0.1*2^-3  = -0.0625
\n", "
\n", "
0x12 = 1_001_0 = -0b1.0*2^-3  = -0.125
\n", "
\n", "
0x13 = 1_001_1 = -0b1.1*2^-3  = -0.1875
\n", "
\n", "
0x14 = 1_010_0 = -0b1.0*2^-2  = -0.25
\n", "
\n", "
0x15 = 1_010_1 = -0b1.1*2^-2  = -0.375
\n", "
\n", "
0x16 = 1_011_0 = -0b1.0*2^-1  = -0.5
\n", "
\n", "
0x17 = 1_011_1 = -0b1.1*2^-1  = -0.75
\n", "
\n", "
0x18 = 1_100_0 = -0b1.0*2^0   = -1.0
\n", "
\n", "
0x19 = 1_100_1 = -0b1.1*2^0   = -1.5
\n", "
\n", "
0x1a = 1_101_0 = -0b1.0*2^1   = -2.0
\n", "
\n", "
0x1b = 1_101_1 = -0b1.1*2^1   = -3.0
\n", "
\n", "
0x1c = 1_110_0 = -0b1.0*2^2   = -4.0
\n", "
\n", "
0x1d = 1_110_1 = -0b1.1*2^2   = -6.0
\n", "
\n", "
0x1e = 1_111_0 = -0b1.0*2^3   = -8.0
\n", "
\n", "
0x1f = 1_111_1 = -inf = -inf
\n", "
\n", "
\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
\n", "
0x00 = 0_000_0 = 0.0 = 0.0
\n", "
\n", "
0x01 = 0_000_1 = +0b0.1*2^-3  = 0.0625
\n", "
\n", "
0x02 = 0_001_0 = +0b1.0*2^-3  = 0.125
\n", "
\n", "
0x03 = 0_001_1 = +0b1.1*2^-3  = 0.1875
\n", "
\n", "
0x04 = 0_010_0 = +0b1.0*2^-2  = 0.25
\n", "
\n", "
0x05 = 0_010_1 = +0b1.1*2^-2  = 0.375
\n", "
\n", "
0x06 = 0_011_0 = +0b1.0*2^-1  = 0.5
\n", "
\n", "
0x07 = 0_011_1 = +0b1.1*2^-1  = 0.75
\n", "
\n", "
0x08 = 0_100_0 = +0b1.0*2^0   = 1.0
\n", "
\n", "
0x09 = 0_100_1 = +0b1.1*2^0   = 1.5
\n", "
\n", "
0x0a = 0_101_0 = +0b1.0*2^1   = 2.0
\n", "
\n", "
0x0b = 0_101_1 = +0b1.1*2^1   = 3.0
\n", "
\n", "
0x0c = 0_110_0 = +0b1.0*2^2   = 4.0
\n", "
\n", "
0x0d = 0_110_1 = +0b1.1*2^2   = 6.0
\n", "
\n", "
0x0e = 0_111_0 = +0b1.0*2^3   = 8.0
\n", "
\n", "
0x0f = 0_111_1 = +0b1.1*2^3   = 12.0
\n", "
\n", "
0x10 = 1_000_0 = nan = nan
\n", "
\n", "
0x11 = 1_000_1 = -0b0.1*2^-3  = -0.0625
\n", "
\n", "
0x12 = 1_001_0 = -0b1.0*2^-3  = -0.125
\n", "
\n", "
0x13 = 1_001_1 = -0b1.1*2^-3  = -0.1875
\n", "
\n", "
0x14 = 1_010_0 = -0b1.0*2^-2  = -0.25
\n", "
\n", "
0x15 = 1_010_1 = -0b1.1*2^-2  = -0.375
\n", "
\n", "
0x16 = 1_011_0 = -0b1.0*2^-1  = -0.5
\n", "
\n", "
0x17 = 1_011_1 = -0b1.1*2^-1  = -0.75
\n", "
\n", "
0x18 = 1_100_0 = -0b1.0*2^0   = -1.0
\n", "
\n", "
0x19 = 1_100_1 = -0b1.1*2^0   = -1.5
\n", "
\n", "
0x1a = 1_101_0 = -0b1.0*2^1   = -2.0
\n", "
\n", "
0x1b = 1_101_1 = -0b1.1*2^1   = -3.0
\n", "
\n", "
0x1c = 1_110_0 = -0b1.0*2^2   = -4.0
\n", "
\n", "
0x1d = 1_110_1 = -0b1.1*2^2   = -6.0
\n", "
\n", "
0x1e = 1_111_0 = -0b1.0*2^3   = -8.0
\n", "
\n", "
0x1f = 1_111_1 = -0b1.1*2^3   = -12.0
\n", "
\n", "
\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
\n", "
0x00 = 0000_0 = 0.0 = 0.0
\n", "
\n", "
0x01 = 0000_1 = +0b0.1*2^-7  = ~0.0039
\n", "
\n", "
0x02 = 0001_0 = +0b1.0*2^-7  = ~0.0078
\n", "
\n", "
0x03 = 0001_1 = +0b1.1*2^-7  = ~0.0117
\n", "
\n", "
0x04 = 0010_0 = +0b1.0*2^-6  = 0.015625
\n", "
\n", "
0x05 = 0010_1 = +0b1.1*2^-6  = ~0.0234
\n", "
\n", "
0x06 = 0011_0 = +0b1.0*2^-5  = 0.03125
\n", "
\n", "
0x07 = 0011_1 = +0b1.1*2^-5  = 0.046875
\n", "
\n", "
0x08 = 0100_0 = +0b1.0*2^-4  = 0.0625
\n", "
\n", "
0x09 = 0100_1 = +0b1.1*2^-4  = 0.09375
\n", "
\n", "
0x0a = 0101_0 = +0b1.0*2^-3  = 0.125
\n", "
\n", "
0x0b = 0101_1 = +0b1.1*2^-3  = 0.1875
\n", "
\n", "
0x0c = 0110_0 = +0b1.0*2^-2  = 0.25
\n", "
\n", "
0x0d = 0110_1 = +0b1.1*2^-2  = 0.375
\n", "
\n", "
0x0e = 0111_0 = +0b1.0*2^-1  = 0.5
\n", "
\n", "
0x0f = 0111_1 = +0b1.1*2^-1  = 0.75
\n", "
\n", "
0x10 = 1000_0 = +0b1.0*2^0   = 1.0
\n", "
\n", "
0x11 = 1000_1 = +0b1.1*2^0   = 1.5
\n", "
\n", "
0x12 = 1001_0 = +0b1.0*2^1   = 2.0
\n", "
\n", "
0x13 = 1001_1 = +0b1.1*2^1   = 3.0
\n", "
\n", "
0x14 = 1010_0 = +0b1.0*2^2   = 4.0
\n", "
\n", "
0x15 = 1010_1 = +0b1.1*2^2   = 6.0
\n", "
\n", "
0x16 = 1011_0 = +0b1.0*2^3   = 8.0
\n", "
\n", "
0x17 = 1011_1 = +0b1.1*2^3   = 12.0
\n", "
\n", "
0x18 = 1100_0 = +0b1.0*2^4   = 16.0
\n", "
\n", "
0x19 = 1100_1 = +0b1.1*2^4   = 24.0
\n", "
\n", "
0x1a = 1101_0 = +0b1.0*2^5   = 32.0
\n", "
\n", "
0x1b = 1101_1 = +0b1.1*2^5   = 48.0
\n", "
\n", "
0x1c = 1110_0 = +0b1.0*2^6   = 64.0
\n", "
\n", "
0x1d = 1110_1 = +0b1.1*2^6   = 96.0
\n", "
\n", "
0x1e = 1111_0 = inf = inf
\n", "
\n", "
0x1f = 1111_1 = nan = nan
\n", "
\n", "
\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
\n", "
0x00 = 0000_0 = 0.0 = 0.0
\n", "
\n", "
0x01 = 0000_1 = +0b0.1*2^-7  = ~0.0039
\n", "
\n", "
0x02 = 0001_0 = +0b1.0*2^-7  = ~0.0078
\n", "
\n", "
0x03 = 0001_1 = +0b1.1*2^-7  = ~0.0117
\n", "
\n", "
0x04 = 0010_0 = +0b1.0*2^-6  = 0.015625
\n", "
\n", "
0x05 = 0010_1 = +0b1.1*2^-6  = ~0.0234
\n", "
\n", "
0x06 = 0011_0 = +0b1.0*2^-5  = 0.03125
\n", "
\n", "
0x07 = 0011_1 = +0b1.1*2^-5  = 0.046875
\n", "
\n", "
0x08 = 0100_0 = +0b1.0*2^-4  = 0.0625
\n", "
\n", "
0x09 = 0100_1 = +0b1.1*2^-4  = 0.09375
\n", "
\n", "
0x0a = 0101_0 = +0b1.0*2^-3  = 0.125
\n", "
\n", "
0x0b = 0101_1 = +0b1.1*2^-3  = 0.1875
\n", "
\n", "
0x0c = 0110_0 = +0b1.0*2^-2  = 0.25
\n", "
\n", "
0x0d = 0110_1 = +0b1.1*2^-2  = 0.375
\n", "
\n", "
0x0e = 0111_0 = +0b1.0*2^-1  = 0.5
\n", "
\n", "
0x0f = 0111_1 = +0b1.1*2^-1  = 0.75
\n", "
\n", "
0x10 = 1000_0 = +0b1.0*2^0   = 1.0
\n", "
\n", "
0x11 = 1000_1 = +0b1.1*2^0   = 1.5
\n", "
\n", "
0x12 = 1001_0 = +0b1.0*2^1   = 2.0
\n", "
\n", "
0x13 = 1001_1 = +0b1.1*2^1   = 3.0
\n", "
\n", "
0x14 = 1010_0 = +0b1.0*2^2   = 4.0
\n", "
\n", "
0x15 = 1010_1 = +0b1.1*2^2   = 6.0
\n", "
\n", "
0x16 = 1011_0 = +0b1.0*2^3   = 8.0
\n", "
\n", "
0x17 = 1011_1 = +0b1.1*2^3   = 12.0
\n", "
\n", "
0x18 = 1100_0 = +0b1.0*2^4   = 16.0
\n", "
\n", "
0x19 = 1100_1 = +0b1.1*2^4   = 24.0
\n", "
\n", "
0x1a = 1101_0 = +0b1.0*2^5   = 32.0
\n", "
\n", "
0x1b = 1101_1 = +0b1.1*2^5   = 48.0
\n", "
\n", "
0x1c = 1110_0 = +0b1.0*2^6   = 64.0
\n", "
\n", "
0x1d = 1110_1 = +0b1.1*2^6   = 96.0
\n", "
\n", "
0x1e = 1111_0 = +0b1.0*2^7   = 128.0
\n", "
\n", "
0x1f = 1111_1 = nan = nan
\n", "
\n", "
\n", "
\n", " \n", "" ], "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", "

\n", "
\n", "\n", "
\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
p3109_k5p3sep3109_k5p3sfp3109_k5p3uep3109_k5p3uf
\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
\n", "
0x00 = 0_00_00 = 0.0 = 0.0
\n", "
\n", "
0x01 = 0_00_01 = +0b0.01*2^-1  = 0.125
\n", "
\n", "
0x02 = 0_00_10 = +0b0.10*2^-1  = 0.25
\n", "
\n", "
0x03 = 0_00_11 = +0b0.11*2^-1  = 0.375
\n", "
\n", "
0x04 = 0_01_00 = +0b1.00*2^-1  = 0.5
\n", "
\n", "
0x05 = 0_01_01 = +0b1.01*2^-1  = 0.625
\n", "
\n", "
0x06 = 0_01_10 = +0b1.10*2^-1  = 0.75
\n", "
\n", "
0x07 = 0_01_11 = +0b1.11*2^-1  = 0.875
\n", "
\n", "
0x08 = 0_10_00 = +0b1.00*2^0   = 1.0
\n", "
\n", "
0x09 = 0_10_01 = +0b1.01*2^0   = 1.25
\n", "
\n", "
0x0a = 0_10_10 = +0b1.10*2^0   = 1.5
\n", "
\n", "
0x0b = 0_10_11 = +0b1.11*2^0   = 1.75
\n", "
\n", "
0x0c = 0_11_00 = +0b1.00*2^1   = 2.0
\n", "
\n", "
0x0d = 0_11_01 = +0b1.01*2^1   = 2.5
\n", "
\n", "
0x0e = 0_11_10 = +0b1.10*2^1   = 3.0
\n", "
\n", "
0x0f = 0_11_11 = inf = inf
\n", "
\n", "
0x10 = 1_00_00 = nan = nan
\n", "
\n", "
0x11 = 1_00_01 = -0b0.01*2^-1  = -0.125
\n", "
\n", "
0x12 = 1_00_10 = -0b0.10*2^-1  = -0.25
\n", "
\n", "
0x13 = 1_00_11 = -0b0.11*2^-1  = -0.375
\n", "
\n", "
0x14 = 1_01_00 = -0b1.00*2^-1  = -0.5
\n", "
\n", "
0x15 = 1_01_01 = -0b1.01*2^-1  = -0.625
\n", "
\n", "
0x16 = 1_01_10 = -0b1.10*2^-1  = -0.75
\n", "
\n", "
0x17 = 1_01_11 = -0b1.11*2^-1  = -0.875
\n", "
\n", "
0x18 = 1_10_00 = -0b1.00*2^0   = -1.0
\n", "
\n", "
0x19 = 1_10_01 = -0b1.01*2^0   = -1.25
\n", "
\n", "
0x1a = 1_10_10 = -0b1.10*2^0   = -1.5
\n", "
\n", "
0x1b = 1_10_11 = -0b1.11*2^0   = -1.75
\n", "
\n", "
0x1c = 1_11_00 = -0b1.00*2^1   = -2.0
\n", "
\n", "
0x1d = 1_11_01 = -0b1.01*2^1   = -2.5
\n", "
\n", "
0x1e = 1_11_10 = -0b1.10*2^1   = -3.0
\n", "
\n", "
0x1f = 1_11_11 = -inf = -inf
\n", "
\n", "
\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
\n", "
0x00 = 0_00_00 = 0.0 = 0.0
\n", "
\n", "
0x01 = 0_00_01 = +0b0.01*2^-1  = 0.125
\n", "
\n", "
0x02 = 0_00_10 = +0b0.10*2^-1  = 0.25
\n", "
\n", "
0x03 = 0_00_11 = +0b0.11*2^-1  = 0.375
\n", "
\n", "
0x04 = 0_01_00 = +0b1.00*2^-1  = 0.5
\n", "
\n", "
0x05 = 0_01_01 = +0b1.01*2^-1  = 0.625
\n", "
\n", "
0x06 = 0_01_10 = +0b1.10*2^-1  = 0.75
\n", "
\n", "
0x07 = 0_01_11 = +0b1.11*2^-1  = 0.875
\n", "
\n", "
0x08 = 0_10_00 = +0b1.00*2^0   = 1.0
\n", "
\n", "
0x09 = 0_10_01 = +0b1.01*2^0   = 1.25
\n", "
\n", "
0x0a = 0_10_10 = +0b1.10*2^0   = 1.5
\n", "
\n", "
0x0b = 0_10_11 = +0b1.11*2^0   = 1.75
\n", "
\n", "
0x0c = 0_11_00 = +0b1.00*2^1   = 2.0
\n", "
\n", "
0x0d = 0_11_01 = +0b1.01*2^1   = 2.5
\n", "
\n", "
0x0e = 0_11_10 = +0b1.10*2^1   = 3.0
\n", "
\n", "
0x0f = 0_11_11 = +0b1.11*2^1   = 3.5
\n", "
\n", "
0x10 = 1_00_00 = nan = nan
\n", "
\n", "
0x11 = 1_00_01 = -0b0.01*2^-1  = -0.125
\n", "
\n", "
0x12 = 1_00_10 = -0b0.10*2^-1  = -0.25
\n", "
\n", "
0x13 = 1_00_11 = -0b0.11*2^-1  = -0.375
\n", "
\n", "
0x14 = 1_01_00 = -0b1.00*2^-1  = -0.5
\n", "
\n", "
0x15 = 1_01_01 = -0b1.01*2^-1  = -0.625
\n", "
\n", "
0x16 = 1_01_10 = -0b1.10*2^-1  = -0.75
\n", "
\n", "
0x17 = 1_01_11 = -0b1.11*2^-1  = -0.875
\n", "
\n", "
0x18 = 1_10_00 = -0b1.00*2^0   = -1.0
\n", "
\n", "
0x19 = 1_10_01 = -0b1.01*2^0   = -1.25
\n", "
\n", "
0x1a = 1_10_10 = -0b1.10*2^0   = -1.5
\n", "
\n", "
0x1b = 1_10_11 = -0b1.11*2^0   = -1.75
\n", "
\n", "
0x1c = 1_11_00 = -0b1.00*2^1   = -2.0
\n", "
\n", "
0x1d = 1_11_01 = -0b1.01*2^1   = -2.5
\n", "
\n", "
0x1e = 1_11_10 = -0b1.10*2^1   = -3.0
\n", "
\n", "
0x1f = 1_11_11 = -0b1.11*2^1   = -3.5
\n", "
\n", "
\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
\n", "
0x00 = 000_00 = 0.0 = 0.0
\n", "
\n", "
0x01 = 000_01 = +0b0.01*2^-3  = 0.03125
\n", "
\n", "
0x02 = 000_10 = +0b0.10*2^-3  = 0.0625
\n", "
\n", "
0x03 = 000_11 = +0b0.11*2^-3  = 0.09375
\n", "
\n", "
0x04 = 001_00 = +0b1.00*2^-3  = 0.125
\n", "
\n", "
0x05 = 001_01 = +0b1.01*2^-3  = 0.15625
\n", "
\n", "
0x06 = 001_10 = +0b1.10*2^-3  = 0.1875
\n", "
\n", "
0x07 = 001_11 = +0b1.11*2^-3  = 0.21875
\n", "
\n", "
0x08 = 010_00 = +0b1.00*2^-2  = 0.25
\n", "
\n", "
0x09 = 010_01 = +0b1.01*2^-2  = 0.3125
\n", "
\n", "
0x0a = 010_10 = +0b1.10*2^-2  = 0.375
\n", "
\n", "
0x0b = 010_11 = +0b1.11*2^-2  = 0.4375
\n", "
\n", "
0x0c = 011_00 = +0b1.00*2^-1  = 0.5
\n", "
\n", "
0x0d = 011_01 = +0b1.01*2^-1  = 0.625
\n", "
\n", "
0x0e = 011_10 = +0b1.10*2^-1  = 0.75
\n", "
\n", "
0x0f = 011_11 = +0b1.11*2^-1  = 0.875
\n", "
\n", "
0x10 = 100_00 = +0b1.00*2^0   = 1.0
\n", "
\n", "
0x11 = 100_01 = +0b1.01*2^0   = 1.25
\n", "
\n", "
0x12 = 100_10 = +0b1.10*2^0   = 1.5
\n", "
\n", "
0x13 = 100_11 = +0b1.11*2^0   = 1.75
\n", "
\n", "
0x14 = 101_00 = +0b1.00*2^1   = 2.0
\n", "
\n", "
0x15 = 101_01 = +0b1.01*2^1   = 2.5
\n", "
\n", "
0x16 = 101_10 = +0b1.10*2^1   = 3.0
\n", "
\n", "
0x17 = 101_11 = +0b1.11*2^1   = 3.5
\n", "
\n", "
0x18 = 110_00 = +0b1.00*2^2   = 4.0
\n", "
\n", "
0x19 = 110_01 = +0b1.01*2^2   = 5.0
\n", "
\n", "
0x1a = 110_10 = +0b1.10*2^2   = 6.0
\n", "
\n", "
0x1b = 110_11 = +0b1.11*2^2   = 7.0
\n", "
\n", "
0x1c = 111_00 = +0b1.00*2^3   = 8.0
\n", "
\n", "
0x1d = 111_01 = +0b1.01*2^3   = 10.0
\n", "
\n", "
0x1e = 111_10 = inf = inf
\n", "
\n", "
0x1f = 111_11 = nan = nan
\n", "
\n", "
\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
\n", "
0x00 = 000_00 = 0.0 = 0.0
\n", "
\n", "
0x01 = 000_01 = +0b0.01*2^-3  = 0.03125
\n", "
\n", "
0x02 = 000_10 = +0b0.10*2^-3  = 0.0625
\n", "
\n", "
0x03 = 000_11 = +0b0.11*2^-3  = 0.09375
\n", "
\n", "
0x04 = 001_00 = +0b1.00*2^-3  = 0.125
\n", "
\n", "
0x05 = 001_01 = +0b1.01*2^-3  = 0.15625
\n", "
\n", "
0x06 = 001_10 = +0b1.10*2^-3  = 0.1875
\n", "
\n", "
0x07 = 001_11 = +0b1.11*2^-3  = 0.21875
\n", "
\n", "
0x08 = 010_00 = +0b1.00*2^-2  = 0.25
\n", "
\n", "
0x09 = 010_01 = +0b1.01*2^-2  = 0.3125
\n", "
\n", "
0x0a = 010_10 = +0b1.10*2^-2  = 0.375
\n", "
\n", "
0x0b = 010_11 = +0b1.11*2^-2  = 0.4375
\n", "
\n", "
0x0c = 011_00 = +0b1.00*2^-1  = 0.5
\n", "
\n", "
0x0d = 011_01 = +0b1.01*2^-1  = 0.625
\n", "
\n", "
0x0e = 011_10 = +0b1.10*2^-1  = 0.75
\n", "
\n", "
0x0f = 011_11 = +0b1.11*2^-1  = 0.875
\n", "
\n", "
0x10 = 100_00 = +0b1.00*2^0   = 1.0
\n", "
\n", "
0x11 = 100_01 = +0b1.01*2^0   = 1.25
\n", "
\n", "
0x12 = 100_10 = +0b1.10*2^0   = 1.5
\n", "
\n", "
0x13 = 100_11 = +0b1.11*2^0   = 1.75
\n", "
\n", "
0x14 = 101_00 = +0b1.00*2^1   = 2.0
\n", "
\n", "
0x15 = 101_01 = +0b1.01*2^1   = 2.5
\n", "
\n", "
0x16 = 101_10 = +0b1.10*2^1   = 3.0
\n", "
\n", "
0x17 = 101_11 = +0b1.11*2^1   = 3.5
\n", "
\n", "
0x18 = 110_00 = +0b1.00*2^2   = 4.0
\n", "
\n", "
0x19 = 110_01 = +0b1.01*2^2   = 5.0
\n", "
\n", "
0x1a = 110_10 = +0b1.10*2^2   = 6.0
\n", "
\n", "
0x1b = 110_11 = +0b1.11*2^2   = 7.0
\n", "
\n", "
0x1c = 111_00 = +0b1.00*2^3   = 8.0
\n", "
\n", "
0x1d = 111_01 = +0b1.01*2^3   = 10.0
\n", "
\n", "
0x1e = 111_10 = +0b1.10*2^3   = 12.0
\n", "
\n", "
0x1f = 111_11 = nan = nan
\n", "
\n", "
\n", "
\n", " \n", "" ], "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", "

\n", "
\n", "\n", "
\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
p3109_k5p4sep3109_k5p4sfp3109_k5p4uep3109_k5p4uf
\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
\n", "
0x00 = 0_0_000 = 0.0 = 0.0
\n", "
\n", "
0x01 = 0_0_001 = +0b0.001*2^0   = 0.125
\n", "
\n", "
0x02 = 0_0_010 = +0b0.010*2^0   = 0.25
\n", "
\n", "
0x03 = 0_0_011 = +0b0.011*2^0   = 0.375
\n", "
\n", "
0x04 = 0_0_100 = +0b0.100*2^0   = 0.5
\n", "
\n", "
0x05 = 0_0_101 = +0b0.101*2^0   = 0.625
\n", "
\n", "
0x06 = 0_0_110 = +0b0.110*2^0   = 0.75
\n", "
\n", "
0x07 = 0_0_111 = +0b0.111*2^0   = 0.875
\n", "
\n", "
0x08 = 0_1_000 = +0b1.000*2^0   = 1.0
\n", "
\n", "
0x09 = 0_1_001 = +0b1.001*2^0   = 1.125
\n", "
\n", "
0x0a = 0_1_010 = +0b1.010*2^0   = 1.25
\n", "
\n", "
0x0b = 0_1_011 = +0b1.011*2^0   = 1.375
\n", "
\n", "
0x0c = 0_1_100 = +0b1.100*2^0   = 1.5
\n", "
\n", "
0x0d = 0_1_101 = +0b1.101*2^0   = 1.625
\n", "
\n", "
0x0e = 0_1_110 = +0b1.110*2^0   = 1.75
\n", "
\n", "
0x0f = 0_1_111 = inf = inf
\n", "
\n", "
0x10 = 1_0_000 = nan = nan
\n", "
\n", "
0x11 = 1_0_001 = -0b0.001*2^0   = -0.125
\n", "
\n", "
0x12 = 1_0_010 = -0b0.010*2^0   = -0.25
\n", "
\n", "
0x13 = 1_0_011 = -0b0.011*2^0   = -0.375
\n", "
\n", "
0x14 = 1_0_100 = -0b0.100*2^0   = -0.5
\n", "
\n", "
0x15 = 1_0_101 = -0b0.101*2^0   = -0.625
\n", "
\n", "
0x16 = 1_0_110 = -0b0.110*2^0   = -0.75
\n", "
\n", "
0x17 = 1_0_111 = -0b0.111*2^0   = -0.875
\n", "
\n", "
0x18 = 1_1_000 = -0b1.000*2^0   = -1.0
\n", "
\n", "
0x19 = 1_1_001 = -0b1.001*2^0   = -1.125
\n", "
\n", "
0x1a = 1_1_010 = -0b1.010*2^0   = -1.25
\n", "
\n", "
0x1b = 1_1_011 = -0b1.011*2^0   = -1.375
\n", "
\n", "
0x1c = 1_1_100 = -0b1.100*2^0   = -1.5
\n", "
\n", "
0x1d = 1_1_101 = -0b1.101*2^0   = -1.625
\n", "
\n", "
0x1e = 1_1_110 = -0b1.110*2^0   = -1.75
\n", "
\n", "
0x1f = 1_1_111 = -inf = -inf
\n", "
\n", "
\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
\n", "
0x00 = 0_0_000 = 0.0 = 0.0
\n", "
\n", "
0x01 = 0_0_001 = +0b0.001*2^0   = 0.125
\n", "
\n", "
0x02 = 0_0_010 = +0b0.010*2^0   = 0.25
\n", "
\n", "
0x03 = 0_0_011 = +0b0.011*2^0   = 0.375
\n", "
\n", "
0x04 = 0_0_100 = +0b0.100*2^0   = 0.5
\n", "
\n", "
0x05 = 0_0_101 = +0b0.101*2^0   = 0.625
\n", "
\n", "
0x06 = 0_0_110 = +0b0.110*2^0   = 0.75
\n", "
\n", "
0x07 = 0_0_111 = +0b0.111*2^0   = 0.875
\n", "
\n", "
0x08 = 0_1_000 = +0b1.000*2^0   = 1.0
\n", "
\n", "
0x09 = 0_1_001 = +0b1.001*2^0   = 1.125
\n", "
\n", "
0x0a = 0_1_010 = +0b1.010*2^0   = 1.25
\n", "
\n", "
0x0b = 0_1_011 = +0b1.011*2^0   = 1.375
\n", "
\n", "
0x0c = 0_1_100 = +0b1.100*2^0   = 1.5
\n", "
\n", "
0x0d = 0_1_101 = +0b1.101*2^0   = 1.625
\n", "
\n", "
0x0e = 0_1_110 = +0b1.110*2^0   = 1.75
\n", "
\n", "
0x0f = 0_1_111 = +0b1.111*2^0   = 1.875
\n", "
\n", "
0x10 = 1_0_000 = nan = nan
\n", "
\n", "
0x11 = 1_0_001 = -0b0.001*2^0   = -0.125
\n", "
\n", "
0x12 = 1_0_010 = -0b0.010*2^0   = -0.25
\n", "
\n", "
0x13 = 1_0_011 = -0b0.011*2^0   = -0.375
\n", "
\n", "
0x14 = 1_0_100 = -0b0.100*2^0   = -0.5
\n", "
\n", "
0x15 = 1_0_101 = -0b0.101*2^0   = -0.625
\n", "
\n", "
0x16 = 1_0_110 = -0b0.110*2^0   = -0.75
\n", "
\n", "
0x17 = 1_0_111 = -0b0.111*2^0   = -0.875
\n", "
\n", "
0x18 = 1_1_000 = -0b1.000*2^0   = -1.0
\n", "
\n", "
0x19 = 1_1_001 = -0b1.001*2^0   = -1.125
\n", "
\n", "
0x1a = 1_1_010 = -0b1.010*2^0   = -1.25
\n", "
\n", "
0x1b = 1_1_011 = -0b1.011*2^0   = -1.375
\n", "
\n", "
0x1c = 1_1_100 = -0b1.100*2^0   = -1.5
\n", "
\n", "
0x1d = 1_1_101 = -0b1.101*2^0   = -1.625
\n", "
\n", "
0x1e = 1_1_110 = -0b1.110*2^0   = -1.75
\n", "
\n", "
0x1f = 1_1_111 = -0b1.111*2^0   = -1.875
\n", "
\n", "
\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
\n", "
0x00 = 00_000 = 0.0 = 0.0
\n", "
\n", "
0x01 = 00_001 = +0b0.001*2^-1  = 0.0625
\n", "
\n", "
0x02 = 00_010 = +0b0.010*2^-1  = 0.125
\n", "
\n", "
0x03 = 00_011 = +0b0.011*2^-1  = 0.1875
\n", "
\n", "
0x04 = 00_100 = +0b0.100*2^-1  = 0.25
\n", "
\n", "
0x05 = 00_101 = +0b0.101*2^-1  = 0.3125
\n", "
\n", "
0x06 = 00_110 = +0b0.110*2^-1  = 0.375
\n", "
\n", "
0x07 = 00_111 = +0b0.111*2^-1  = 0.4375
\n", "
\n", "
0x08 = 01_000 = +0b1.000*2^-1  = 0.5
\n", "
\n", "
0x09 = 01_001 = +0b1.001*2^-1  = 0.5625
\n", "
\n", "
0x0a = 01_010 = +0b1.010*2^-1  = 0.625
\n", "
\n", "
0x0b = 01_011 = +0b1.011*2^-1  = 0.6875
\n", "
\n", "
0x0c = 01_100 = +0b1.100*2^-1  = 0.75
\n", "
\n", "
0x0d = 01_101 = +0b1.101*2^-1  = 0.8125
\n", "
\n", "
0x0e = 01_110 = +0b1.110*2^-1  = 0.875
\n", "
\n", "
0x0f = 01_111 = +0b1.111*2^-1  = 0.9375
\n", "
\n", "
0x10 = 10_000 = +0b1.000*2^0   = 1.0
\n", "
\n", "
0x11 = 10_001 = +0b1.001*2^0   = 1.125
\n", "
\n", "
0x12 = 10_010 = +0b1.010*2^0   = 1.25
\n", "
\n", "
0x13 = 10_011 = +0b1.011*2^0   = 1.375
\n", "
\n", "
0x14 = 10_100 = +0b1.100*2^0   = 1.5
\n", "
\n", "
0x15 = 10_101 = +0b1.101*2^0   = 1.625
\n", "
\n", "
0x16 = 10_110 = +0b1.110*2^0   = 1.75
\n", "
\n", "
0x17 = 10_111 = +0b1.111*2^0   = 1.875
\n", "
\n", "
0x18 = 11_000 = +0b1.000*2^1   = 2.0
\n", "
\n", "
0x19 = 11_001 = +0b1.001*2^1   = 2.25
\n", "
\n", "
0x1a = 11_010 = +0b1.010*2^1   = 2.5
\n", "
\n", "
0x1b = 11_011 = +0b1.011*2^1   = 2.75
\n", "
\n", "
0x1c = 11_100 = +0b1.100*2^1   = 3.0
\n", "
\n", "
0x1d = 11_101 = +0b1.101*2^1   = 3.25
\n", "
\n", "
0x1e = 11_110 = inf = inf
\n", "
\n", "
0x1f = 11_111 = nan = nan
\n", "
\n", "
\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
\n", "
0x00 = 00_000 = 0.0 = 0.0
\n", "
\n", "
0x01 = 00_001 = +0b0.001*2^-1  = 0.0625
\n", "
\n", "
0x02 = 00_010 = +0b0.010*2^-1  = 0.125
\n", "
\n", "
0x03 = 00_011 = +0b0.011*2^-1  = 0.1875
\n", "
\n", "
0x04 = 00_100 = +0b0.100*2^-1  = 0.25
\n", "
\n", "
0x05 = 00_101 = +0b0.101*2^-1  = 0.3125
\n", "
\n", "
0x06 = 00_110 = +0b0.110*2^-1  = 0.375
\n", "
\n", "
0x07 = 00_111 = +0b0.111*2^-1  = 0.4375
\n", "
\n", "
0x08 = 01_000 = +0b1.000*2^-1  = 0.5
\n", "
\n", "
0x09 = 01_001 = +0b1.001*2^-1  = 0.5625
\n", "
\n", "
0x0a = 01_010 = +0b1.010*2^-1  = 0.625
\n", "
\n", "
0x0b = 01_011 = +0b1.011*2^-1  = 0.6875
\n", "
\n", "
0x0c = 01_100 = +0b1.100*2^-1  = 0.75
\n", "
\n", "
0x0d = 01_101 = +0b1.101*2^-1  = 0.8125
\n", "
\n", "
0x0e = 01_110 = +0b1.110*2^-1  = 0.875
\n", "
\n", "
0x0f = 01_111 = +0b1.111*2^-1  = 0.9375
\n", "
\n", "
0x10 = 10_000 = +0b1.000*2^0   = 1.0
\n", "
\n", "
0x11 = 10_001 = +0b1.001*2^0   = 1.125
\n", "
\n", "
0x12 = 10_010 = +0b1.010*2^0   = 1.25
\n", "
\n", "
0x13 = 10_011 = +0b1.011*2^0   = 1.375
\n", "
\n", "
0x14 = 10_100 = +0b1.100*2^0   = 1.5
\n", "
\n", "
0x15 = 10_101 = +0b1.101*2^0   = 1.625
\n", "
\n", "
0x16 = 10_110 = +0b1.110*2^0   = 1.75
\n", "
\n", "
0x17 = 10_111 = +0b1.111*2^0   = 1.875
\n", "
\n", "
0x18 = 11_000 = +0b1.000*2^1   = 2.0
\n", "
\n", "
0x19 = 11_001 = +0b1.001*2^1   = 2.25
\n", "
\n", "
0x1a = 11_010 = +0b1.010*2^1   = 2.5
\n", "
\n", "
0x1b = 11_011 = +0b1.011*2^1   = 2.75
\n", "
\n", "
0x1c = 11_100 = +0b1.100*2^1   = 3.0
\n", "
\n", "
0x1d = 11_101 = +0b1.101*2^1   = 3.25
\n", "
\n", "
0x1e = 11_110 = +0b1.110*2^1   = 3.5
\n", "
\n", "
0x1f = 11_111 = nan = nan
\n", "
\n", "
\n", "
\n", " \n", "" ], "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", "

\n", "
\n", "\n", "
\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
p3109_k5p5sep3109_k5p5sfp3109_k5p5uep3109_k5p5uf
\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
\n", "
0x00 = 0_0000 = 0.0 = 0.0
\n", "
\n", "
0x01 = 0_0001 = +0b0.0001*2^1   = 0.125
\n", "
\n", "
0x02 = 0_0010 = +0b0.0010*2^1   = 0.25
\n", "
\n", "
0x03 = 0_0011 = +0b0.0011*2^1   = 0.375
\n", "
\n", "
0x04 = 0_0100 = +0b0.0100*2^1   = 0.5
\n", "
\n", "
0x05 = 0_0101 = +0b0.0101*2^1   = 0.625
\n", "
\n", "
0x06 = 0_0110 = +0b0.0110*2^1   = 0.75
\n", "
\n", "
0x07 = 0_0111 = +0b0.0111*2^1   = 0.875
\n", "
\n", "
0x08 = 0_1000 = +0b0.1000*2^1   = 1.0
\n", "
\n", "
0x09 = 0_1001 = +0b0.1001*2^1   = 1.125
\n", "
\n", "
0x0a = 0_1010 = +0b0.1010*2^1   = 1.25
\n", "
\n", "
0x0b = 0_1011 = +0b0.1011*2^1   = 1.375
\n", "
\n", "
0x0c = 0_1100 = +0b0.1100*2^1   = 1.5
\n", "
\n", "
0x0d = 0_1101 = +0b0.1101*2^1   = 1.625
\n", "
\n", "
0x0e = 0_1110 = +0b0.1110*2^1   = 1.75
\n", "
\n", "
0x0f = 0_1111 = inf = inf
\n", "
\n", "
0x10 = 1_0000 = nan = nan
\n", "
\n", "
0x11 = 1_0001 = -0b0.0001*2^1   = -0.125
\n", "
\n", "
0x12 = 1_0010 = -0b0.0010*2^1   = -0.25
\n", "
\n", "
0x13 = 1_0011 = -0b0.0011*2^1   = -0.375
\n", "
\n", "
0x14 = 1_0100 = -0b0.0100*2^1   = -0.5
\n", "
\n", "
0x15 = 1_0101 = -0b0.0101*2^1   = -0.625
\n", "
\n", "
0x16 = 1_0110 = -0b0.0110*2^1   = -0.75
\n", "
\n", "
0x17 = 1_0111 = -0b0.0111*2^1   = -0.875
\n", "
\n", "
0x18 = 1_1000 = -0b0.1000*2^1   = -1.0
\n", "
\n", "
0x19 = 1_1001 = -0b0.1001*2^1   = -1.125
\n", "
\n", "
0x1a = 1_1010 = -0b0.1010*2^1   = -1.25
\n", "
\n", "
0x1b = 1_1011 = -0b0.1011*2^1   = -1.375
\n", "
\n", "
0x1c = 1_1100 = -0b0.1100*2^1   = -1.5
\n", "
\n", "
0x1d = 1_1101 = -0b0.1101*2^1   = -1.625
\n", "
\n", "
0x1e = 1_1110 = -0b0.1110*2^1   = -1.75
\n", "
\n", "
0x1f = 1_1111 = -inf = -inf
\n", "
\n", "
\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
\n", "
0x00 = 0_0000 = 0.0 = 0.0
\n", "
\n", "
0x01 = 0_0001 = +0b0.0001*2^1   = 0.125
\n", "
\n", "
0x02 = 0_0010 = +0b0.0010*2^1   = 0.25
\n", "
\n", "
0x03 = 0_0011 = +0b0.0011*2^1   = 0.375
\n", "
\n", "
0x04 = 0_0100 = +0b0.0100*2^1   = 0.5
\n", "
\n", "
0x05 = 0_0101 = +0b0.0101*2^1   = 0.625
\n", "
\n", "
0x06 = 0_0110 = +0b0.0110*2^1   = 0.75
\n", "
\n", "
0x07 = 0_0111 = +0b0.0111*2^1   = 0.875
\n", "
\n", "
0x08 = 0_1000 = +0b0.1000*2^1   = 1.0
\n", "
\n", "
0x09 = 0_1001 = +0b0.1001*2^1   = 1.125
\n", "
\n", "
0x0a = 0_1010 = +0b0.1010*2^1   = 1.25
\n", "
\n", "
0x0b = 0_1011 = +0b0.1011*2^1   = 1.375
\n", "
\n", "
0x0c = 0_1100 = +0b0.1100*2^1   = 1.5
\n", "
\n", "
0x0d = 0_1101 = +0b0.1101*2^1   = 1.625
\n", "
\n", "
0x0e = 0_1110 = +0b0.1110*2^1   = 1.75
\n", "
\n", "
0x0f = 0_1111 = +0b0.1111*2^1   = 1.875
\n", "
\n", "
0x10 = 1_0000 = nan = nan
\n", "
\n", "
0x11 = 1_0001 = -0b0.0001*2^1   = -0.125
\n", "
\n", "
0x12 = 1_0010 = -0b0.0010*2^1   = -0.25
\n", "
\n", "
0x13 = 1_0011 = -0b0.0011*2^1   = -0.375
\n", "
\n", "
0x14 = 1_0100 = -0b0.0100*2^1   = -0.5
\n", "
\n", "
0x15 = 1_0101 = -0b0.0101*2^1   = -0.625
\n", "
\n", "
0x16 = 1_0110 = -0b0.0110*2^1   = -0.75
\n", "
\n", "
0x17 = 1_0111 = -0b0.0111*2^1   = -0.875
\n", "
\n", "
0x18 = 1_1000 = -0b0.1000*2^1   = -1.0
\n", "
\n", "
0x19 = 1_1001 = -0b0.1001*2^1   = -1.125
\n", "
\n", "
0x1a = 1_1010 = -0b0.1010*2^1   = -1.25
\n", "
\n", "
0x1b = 1_1011 = -0b0.1011*2^1   = -1.375
\n", "
\n", "
0x1c = 1_1100 = -0b0.1100*2^1   = -1.5
\n", "
\n", "
0x1d = 1_1101 = -0b0.1101*2^1   = -1.625
\n", "
\n", "
0x1e = 1_1110 = -0b0.1110*2^1   = -1.75
\n", "
\n", "
0x1f = 1_1111 = -0b0.1111*2^1   = -1.875
\n", "
\n", "
\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
\n", "
0x00 = 0_0000 = 0.0 = 0.0
\n", "
\n", "
0x01 = 0_0001 = +0b0.0001*2^0   = 0.0625
\n", "
\n", "
0x02 = 0_0010 = +0b0.0010*2^0   = 0.125
\n", "
\n", "
0x03 = 0_0011 = +0b0.0011*2^0   = 0.1875
\n", "
\n", "
0x04 = 0_0100 = +0b0.0100*2^0   = 0.25
\n", "
\n", "
0x05 = 0_0101 = +0b0.0101*2^0   = 0.3125
\n", "
\n", "
0x06 = 0_0110 = +0b0.0110*2^0   = 0.375
\n", "
\n", "
0x07 = 0_0111 = +0b0.0111*2^0   = 0.4375
\n", "
\n", "
0x08 = 0_1000 = +0b0.1000*2^0   = 0.5
\n", "
\n", "
0x09 = 0_1001 = +0b0.1001*2^0   = 0.5625
\n", "
\n", "
0x0a = 0_1010 = +0b0.1010*2^0   = 0.625
\n", "
\n", "
0x0b = 0_1011 = +0b0.1011*2^0   = 0.6875
\n", "
\n", "
0x0c = 0_1100 = +0b0.1100*2^0   = 0.75
\n", "
\n", "
0x0d = 0_1101 = +0b0.1101*2^0   = 0.8125
\n", "
\n", "
0x0e = 0_1110 = +0b0.1110*2^0   = 0.875
\n", "
\n", "
0x0f = 0_1111 = +0b0.1111*2^0   = 0.9375
\n", "
\n", "
0x10 = 1_0000 = +0b1.0000*2^0   = 1.0
\n", "
\n", "
0x11 = 1_0001 = +0b1.0001*2^0   = 1.0625
\n", "
\n", "
0x12 = 1_0010 = +0b1.0010*2^0   = 1.125
\n", "
\n", "
0x13 = 1_0011 = +0b1.0011*2^0   = 1.1875
\n", "
\n", "
0x14 = 1_0100 = +0b1.0100*2^0   = 1.25
\n", "
\n", "
0x15 = 1_0101 = +0b1.0101*2^0   = 1.3125
\n", "
\n", "
0x16 = 1_0110 = +0b1.0110*2^0   = 1.375
\n", "
\n", "
0x17 = 1_0111 = +0b1.0111*2^0   = 1.4375
\n", "
\n", "
0x18 = 1_1000 = +0b1.1000*2^0   = 1.5
\n", "
\n", "
0x19 = 1_1001 = +0b1.1001*2^0   = 1.5625
\n", "
\n", "
0x1a = 1_1010 = +0b1.1010*2^0   = 1.625
\n", "
\n", "
0x1b = 1_1011 = +0b1.1011*2^0   = 1.6875
\n", "
\n", "
0x1c = 1_1100 = +0b1.1100*2^0   = 1.75
\n", "
\n", "
0x1d = 1_1101 = +0b1.1101*2^0   = 1.8125
\n", "
\n", "
0x1e = 1_1110 = inf = inf
\n", "
\n", "
0x1f = 1_1111 = nan = nan
\n", "
\n", "
\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
\n", "
0x00 = 0_0000 = 0.0 = 0.0
\n", "
\n", "
0x01 = 0_0001 = +0b0.0001*2^0   = 0.0625
\n", "
\n", "
0x02 = 0_0010 = +0b0.0010*2^0   = 0.125
\n", "
\n", "
0x03 = 0_0011 = +0b0.0011*2^0   = 0.1875
\n", "
\n", "
0x04 = 0_0100 = +0b0.0100*2^0   = 0.25
\n", "
\n", "
0x05 = 0_0101 = +0b0.0101*2^0   = 0.3125
\n", "
\n", "
0x06 = 0_0110 = +0b0.0110*2^0   = 0.375
\n", "
\n", "
0x07 = 0_0111 = +0b0.0111*2^0   = 0.4375
\n", "
\n", "
0x08 = 0_1000 = +0b0.1000*2^0   = 0.5
\n", "
\n", "
0x09 = 0_1001 = +0b0.1001*2^0   = 0.5625
\n", "
\n", "
0x0a = 0_1010 = +0b0.1010*2^0   = 0.625
\n", "
\n", "
0x0b = 0_1011 = +0b0.1011*2^0   = 0.6875
\n", "
\n", "
0x0c = 0_1100 = +0b0.1100*2^0   = 0.75
\n", "
\n", "
0x0d = 0_1101 = +0b0.1101*2^0   = 0.8125
\n", "
\n", "
0x0e = 0_1110 = +0b0.1110*2^0   = 0.875
\n", "
\n", "
0x0f = 0_1111 = +0b0.1111*2^0   = 0.9375
\n", "
\n", "
0x10 = 1_0000 = +0b1.0000*2^0   = 1.0
\n", "
\n", "
0x11 = 1_0001 = +0b1.0001*2^0   = 1.0625
\n", "
\n", "
0x12 = 1_0010 = +0b1.0010*2^0   = 1.125
\n", "
\n", "
0x13 = 1_0011 = +0b1.0011*2^0   = 1.1875
\n", "
\n", "
0x14 = 1_0100 = +0b1.0100*2^0   = 1.25
\n", "
\n", "
0x15 = 1_0101 = +0b1.0101*2^0   = 1.3125
\n", "
\n", "
0x16 = 1_0110 = +0b1.0110*2^0   = 1.375
\n", "
\n", "
0x17 = 1_0111 = +0b1.0111*2^0   = 1.4375
\n", "
\n", "
0x18 = 1_1000 = +0b1.1000*2^0   = 1.5
\n", "
\n", "
0x19 = 1_1001 = +0b1.1001*2^0   = 1.5625
\n", "
\n", "
0x1a = 1_1010 = +0b1.1010*2^0   = 1.625
\n", "
\n", "
0x1b = 1_1011 = +0b1.1011*2^0   = 1.6875
\n", "
\n", "
0x1c = 1_1100 = +0b1.1100*2^0   = 1.75
\n", "
\n", "
0x1d = 1_1101 = +0b1.1101*2^0   = 1.8125
\n", "
\n", "
0x1e = 1_1110 = +0b1.1110*2^0   = 1.875
\n", "
\n", "
0x1f = 1_1111 = nan = nan
\n", "
\n", "
\n", "
\n", " \n", "" ], "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "for p in (1, 2, 3, 4, 5):\n", " fis = [\n", " format_info_p3109(5, p, signedness, domain)\n", " for signedness in (Signedness.Signed, Signedness.Unsigned)\n", " for domain in (Domain.Extended, Domain.Finite)\n", " ]\n", " render(fis, short=False)" ] }, { "cell_type": "markdown", "id": "452ae200", "metadata": {}, "source": [ "### Now check unsigned vs signed, k=6" ] }, { "cell_type": "code", "execution_count": 11, "id": "ddc40cfa", "metadata": {}, "outputs": [ { "data": { "text/html": [ "\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", "

\n", "
\n", "\n", "
\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
p3109_k6p2sep3109_k6p2sfp3109_k6p2uep3109_k6p2uf
\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
\n", "
0x00 = 0_0000_0 = 0.0 = 0.0
\n", "
\n", "
0x01 = 0_0000_1 = +0b0.1*2^-7  = ~0.0039
\n", "
\n", "
0x02 = 0_0001_0 = +0b1.0*2^-7  = ~0.0078
\n", "
\n", "
0x03 = 0_0001_1 = +0b1.1*2^-7  = ~0.0117
\n", "
\n", "
0x04 = 0_0010_0 = +0b1.0*2^-6  = 0.015625
\n", "
\n", "
0x05 = 0_0010_1 = +0b1.1*2^-6  = ~0.0234
\n", "
\n", "
0x06 = 0_0011_0 = +0b1.0*2^-5  = 0.03125
\n", "
\n", "
0x07 = 0_0011_1 = +0b1.1*2^-5  = 0.046875
\n", "
\n", "
0x08 = 0_0100_0 = +0b1.0*2^-4  = 0.0625
\n", "
\n", "
0x09 = 0_0100_1 = +0b1.1*2^-4  = 0.09375
\n", "
\n", "
0x0a = 0_0101_0 = +0b1.0*2^-3  = 0.125
\n", "
\n", "
0x0b = 0_0101_1 = +0b1.1*2^-3  = 0.1875
\n", "
\n", "
0x0c = 0_0110_0 = +0b1.0*2^-2  = 0.25
\n", "
\n", "
0x0d = 0_0110_1 = +0b1.1*2^-2  = 0.375
\n", "
\n", "
0x0e = 0_0111_0 = +0b1.0*2^-1  = 0.5
\n", "
\n", "
0x0f = 0_0111_1 = +0b1.1*2^-1  = 0.75
\n", "
\n", "
0x10 = 0_1000_0 = +0b1.0*2^0   = 1.0
\n", "
\n", "
0x11 = 0_1000_1 = +0b1.1*2^0   = 1.5
\n", "
\n", "
0x12 = 0_1001_0 = +0b1.0*2^1   = 2.0
\n", "
\n", "
0x13 = 0_1001_1 = +0b1.1*2^1   = 3.0
\n", "
\n", "
0x14 = 0_1010_0 = +0b1.0*2^2   = 4.0
\n", "
\n", "
0x15 = 0_1010_1 = +0b1.1*2^2   = 6.0
\n", "
\n", "
0x16 = 0_1011_0 = +0b1.0*2^3   = 8.0
\n", "
\n", "
0x17 = 0_1011_1 = +0b1.1*2^3   = 12.0
\n", "
\n", "
0x18 = 0_1100_0 = +0b1.0*2^4   = 16.0
\n", "
\n", "
0x19 = 0_1100_1 = +0b1.1*2^4   = 24.0
\n", "
\n", "
0x1a = 0_1101_0 = +0b1.0*2^5   = 32.0
\n", "
\n", "
0x1b = 0_1101_1 = +0b1.1*2^5   = 48.0
\n", "
\n", "
0x1c = 0_1110_0 = +0b1.0*2^6   = 64.0
\n", "
\n", "
0x1d = 0_1110_1 = +0b1.1*2^6   = 96.0
\n", "
\n", "
0x1e = 0_1111_0 = +0b1.0*2^7   = 128.0
\n", "
\n", "
0x1f = 0_1111_1 = inf = inf
\n", "
\n", "
0x20 = 1_0000_0 = nan = nan
\n", "
\n", "
0x21 = 1_0000_1 = -0b0.1*2^-7  = ~-0.0039
\n", "
\n", "
0x22 = 1_0001_0 = -0b1.0*2^-7  = ~-0.0078
\n", "
\n", "
0x23 = 1_0001_1 = -0b1.1*2^-7  = ~-0.0117
\n", "
\n", "
0x24 = 1_0010_0 = -0b1.0*2^-6  = ~-0.0156
\n", "
\n", "
0x25 = 1_0010_1 = -0b1.1*2^-6  = ~-0.0234
\n", "
\n", "
0x26 = 1_0011_0 = -0b1.0*2^-5  = -0.03125
\n", "
\n", "
0x27 = 1_0011_1 = -0b1.1*2^-5  = ~-0.0469
\n", "
\n", "
0x28 = 1_0100_0 = -0b1.0*2^-4  = -0.0625
\n", "
\n", "
0x29 = 1_0100_1 = -0b1.1*2^-4  = -0.09375
\n", "
\n", "
0x2a = 1_0101_0 = -0b1.0*2^-3  = -0.125
\n", "
\n", "
0x2b = 1_0101_1 = -0b1.1*2^-3  = -0.1875
\n", "
\n", "
0x2c = 1_0110_0 = -0b1.0*2^-2  = -0.25
\n", "
\n", "
0x2d = 1_0110_1 = -0b1.1*2^-2  = -0.375
\n", "
\n", "
0x2e = 1_0111_0 = -0b1.0*2^-1  = -0.5
\n", "
\n", "
0x2f = 1_0111_1 = -0b1.1*2^-1  = -0.75
\n", "
\n", "
0x30 = 1_1000_0 = -0b1.0*2^0   = -1.0
\n", "
\n", "
0x31 = 1_1000_1 = -0b1.1*2^0   = -1.5
\n", "
\n", "
0x32 = 1_1001_0 = -0b1.0*2^1   = -2.0
\n", "
\n", "
0x33 = 1_1001_1 = -0b1.1*2^1   = -3.0
\n", "
\n", "
0x34 = 1_1010_0 = -0b1.0*2^2   = -4.0
\n", "
\n", "
0x35 = 1_1010_1 = -0b1.1*2^2   = -6.0
\n", "
\n", "
0x36 = 1_1011_0 = -0b1.0*2^3   = -8.0
\n", "
\n", "
0x37 = 1_1011_1 = -0b1.1*2^3   = -12.0
\n", "
\n", "
0x38 = 1_1100_0 = -0b1.0*2^4   = -16.0
\n", "
\n", "
0x39 = 1_1100_1 = -0b1.1*2^4   = -24.0
\n", "
\n", "
0x3a = 1_1101_0 = -0b1.0*2^5   = -32.0
\n", "
\n", "
0x3b = 1_1101_1 = -0b1.1*2^5   = -48.0
\n", "
\n", "
0x3c = 1_1110_0 = -0b1.0*2^6   = -64.0
\n", "
\n", "
0x3d = 1_1110_1 = -0b1.1*2^6   = -96.0
\n", "
\n", "
0x3e = 1_1111_0 = -0b1.0*2^7   = -128.0
\n", "
\n", "
0x3f = 1_1111_1 = -inf = -inf
\n", "
\n", "
\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
\n", "
0x00 = 0_0000_0 = 0.0 = 0.0
\n", "
\n", "
0x01 = 0_0000_1 = +0b0.1*2^-7  = ~0.0039
\n", "
\n", "
0x02 = 0_0001_0 = +0b1.0*2^-7  = ~0.0078
\n", "
\n", "
0x03 = 0_0001_1 = +0b1.1*2^-7  = ~0.0117
\n", "
\n", "
0x04 = 0_0010_0 = +0b1.0*2^-6  = 0.015625
\n", "
\n", "
0x05 = 0_0010_1 = +0b1.1*2^-6  = ~0.0234
\n", "
\n", "
0x06 = 0_0011_0 = +0b1.0*2^-5  = 0.03125
\n", "
\n", "
0x07 = 0_0011_1 = +0b1.1*2^-5  = 0.046875
\n", "
\n", "
0x08 = 0_0100_0 = +0b1.0*2^-4  = 0.0625
\n", "
\n", "
0x09 = 0_0100_1 = +0b1.1*2^-4  = 0.09375
\n", "
\n", "
0x0a = 0_0101_0 = +0b1.0*2^-3  = 0.125
\n", "
\n", "
0x0b = 0_0101_1 = +0b1.1*2^-3  = 0.1875
\n", "
\n", "
0x0c = 0_0110_0 = +0b1.0*2^-2  = 0.25
\n", "
\n", "
0x0d = 0_0110_1 = +0b1.1*2^-2  = 0.375
\n", "
\n", "
0x0e = 0_0111_0 = +0b1.0*2^-1  = 0.5
\n", "
\n", "
0x0f = 0_0111_1 = +0b1.1*2^-1  = 0.75
\n", "
\n", "
0x10 = 0_1000_0 = +0b1.0*2^0   = 1.0
\n", "
\n", "
0x11 = 0_1000_1 = +0b1.1*2^0   = 1.5
\n", "
\n", "
0x12 = 0_1001_0 = +0b1.0*2^1   = 2.0
\n", "
\n", "
0x13 = 0_1001_1 = +0b1.1*2^1   = 3.0
\n", "
\n", "
0x14 = 0_1010_0 = +0b1.0*2^2   = 4.0
\n", "
\n", "
0x15 = 0_1010_1 = +0b1.1*2^2   = 6.0
\n", "
\n", "
0x16 = 0_1011_0 = +0b1.0*2^3   = 8.0
\n", "
\n", "
0x17 = 0_1011_1 = +0b1.1*2^3   = 12.0
\n", "
\n", "
0x18 = 0_1100_0 = +0b1.0*2^4   = 16.0
\n", "
\n", "
0x19 = 0_1100_1 = +0b1.1*2^4   = 24.0
\n", "
\n", "
0x1a = 0_1101_0 = +0b1.0*2^5   = 32.0
\n", "
\n", "
0x1b = 0_1101_1 = +0b1.1*2^5   = 48.0
\n", "
\n", "
0x1c = 0_1110_0 = +0b1.0*2^6   = 64.0
\n", "
\n", "
0x1d = 0_1110_1 = +0b1.1*2^6   = 96.0
\n", "
\n", "
0x1e = 0_1111_0 = +0b1.0*2^7   = 128.0
\n", "
\n", "
0x1f = 0_1111_1 = +0b1.1*2^7   = 192.0
\n", "
\n", "
0x20 = 1_0000_0 = nan = nan
\n", "
\n", "
0x21 = 1_0000_1 = -0b0.1*2^-7  = ~-0.0039
\n", "
\n", "
0x22 = 1_0001_0 = -0b1.0*2^-7  = ~-0.0078
\n", "
\n", "
0x23 = 1_0001_1 = -0b1.1*2^-7  = ~-0.0117
\n", "
\n", "
0x24 = 1_0010_0 = -0b1.0*2^-6  = ~-0.0156
\n", "
\n", "
0x25 = 1_0010_1 = -0b1.1*2^-6  = ~-0.0234
\n", "
\n", "
0x26 = 1_0011_0 = -0b1.0*2^-5  = -0.03125
\n", "
\n", "
0x27 = 1_0011_1 = -0b1.1*2^-5  = ~-0.0469
\n", "
\n", "
0x28 = 1_0100_0 = -0b1.0*2^-4  = -0.0625
\n", "
\n", "
0x29 = 1_0100_1 = -0b1.1*2^-4  = -0.09375
\n", "
\n", "
0x2a = 1_0101_0 = -0b1.0*2^-3  = -0.125
\n", "
\n", "
0x2b = 1_0101_1 = -0b1.1*2^-3  = -0.1875
\n", "
\n", "
0x2c = 1_0110_0 = -0b1.0*2^-2  = -0.25
\n", "
\n", "
0x2d = 1_0110_1 = -0b1.1*2^-2  = -0.375
\n", "
\n", "
0x2e = 1_0111_0 = -0b1.0*2^-1  = -0.5
\n", "
\n", "
0x2f = 1_0111_1 = -0b1.1*2^-1  = -0.75
\n", "
\n", "
0x30 = 1_1000_0 = -0b1.0*2^0   = -1.0
\n", "
\n", "
0x31 = 1_1000_1 = -0b1.1*2^0   = -1.5
\n", "
\n", "
0x32 = 1_1001_0 = -0b1.0*2^1   = -2.0
\n", "
\n", "
0x33 = 1_1001_1 = -0b1.1*2^1   = -3.0
\n", "
\n", "
0x34 = 1_1010_0 = -0b1.0*2^2   = -4.0
\n", "
\n", "
0x35 = 1_1010_1 = -0b1.1*2^2   = -6.0
\n", "
\n", "
0x36 = 1_1011_0 = -0b1.0*2^3   = -8.0
\n", "
\n", "
0x37 = 1_1011_1 = -0b1.1*2^3   = -12.0
\n", "
\n", "
0x38 = 1_1100_0 = -0b1.0*2^4   = -16.0
\n", "
\n", "
0x39 = 1_1100_1 = -0b1.1*2^4   = -24.0
\n", "
\n", "
0x3a = 1_1101_0 = -0b1.0*2^5   = -32.0
\n", "
\n", "
0x3b = 1_1101_1 = -0b1.1*2^5   = -48.0
\n", "
\n", "
0x3c = 1_1110_0 = -0b1.0*2^6   = -64.0
\n", "
\n", "
0x3d = 1_1110_1 = -0b1.1*2^6   = -96.0
\n", "
\n", "
0x3e = 1_1111_0 = -0b1.0*2^7   = -128.0
\n", "
\n", "
0x3f = 1_1111_1 = -0b1.1*2^7   = -192.0
\n", "
\n", "
\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
\n", "
0x00 = 00000_0 = 0.0 = 0.0
\n", "
\n", "
0x01 = 00000_1 = +0b0.1*2^-15 = ~1.526e-05
\n", "
\n", "
0x02 = 00001_0 = +0b1.0*2^-15 = ~3.052e-05
\n", "
\n", "
0x03 = 00001_1 = +0b1.1*2^-15 = ~4.578e-05
\n", "
\n", "
0x04 = 00010_0 = +0b1.0*2^-14 = ~6.104e-05
\n", "
\n", "
0x05 = 00010_1 = +0b1.1*2^-14 = ~9.155e-05
\n", "
\n", "
0x06 = 00011_0 = +0b1.0*2^-13 = ~0.0001
\n", "
\n", "
0x07 = 00011_1 = +0b1.1*2^-13 = ~0.0002
\n", "
\n", "
0x08 = 00100_0 = +0b1.0*2^-12 = ~0.0002
\n", "
\n", "
0x09 = 00100_1 = +0b1.1*2^-12 = ~0.0004
\n", "
\n", "
0x0a = 00101_0 = +0b1.0*2^-11 = ~0.0005
\n", "
\n", "
0x0b = 00101_1 = +0b1.1*2^-11 = ~0.0007
\n", "
\n", "
0x0c = 00110_0 = +0b1.0*2^-10 = ~0.0010
\n", "
\n", "
0x0d = 00110_1 = +0b1.1*2^-10 = ~0.0015
\n", "
\n", "
0x0e = 00111_0 = +0b1.0*2^-9  = ~0.0020
\n", "
\n", "
0x0f = 00111_1 = +0b1.1*2^-9  = ~0.0029
\n", "
\n", "
0x10 = 01000_0 = +0b1.0*2^-8  = ~0.0039
\n", "
\n", "
0x11 = 01000_1 = +0b1.1*2^-8  = ~0.0059
\n", "
\n", "
0x12 = 01001_0 = +0b1.0*2^-7  = ~0.0078
\n", "
\n", "
0x13 = 01001_1 = +0b1.1*2^-7  = ~0.0117
\n", "
\n", "
0x14 = 01010_0 = +0b1.0*2^-6  = 0.015625
\n", "
\n", "
0x15 = 01010_1 = +0b1.1*2^-6  = ~0.0234
\n", "
\n", "
0x16 = 01011_0 = +0b1.0*2^-5  = 0.03125
\n", "
\n", "
0x17 = 01011_1 = +0b1.1*2^-5  = 0.046875
\n", "
\n", "
0x18 = 01100_0 = +0b1.0*2^-4  = 0.0625
\n", "
\n", "
0x19 = 01100_1 = +0b1.1*2^-4  = 0.09375
\n", "
\n", "
0x1a = 01101_0 = +0b1.0*2^-3  = 0.125
\n", "
\n", "
0x1b = 01101_1 = +0b1.1*2^-3  = 0.1875
\n", "
\n", "
0x1c = 01110_0 = +0b1.0*2^-2  = 0.25
\n", "
\n", "
0x1d = 01110_1 = +0b1.1*2^-2  = 0.375
\n", "
\n", "
0x1e = 01111_0 = +0b1.0*2^-1  = 0.5
\n", "
\n", "
0x1f = 01111_1 = +0b1.1*2^-1  = 0.75
\n", "
\n", "
0x20 = 10000_0 = +0b1.0*2^0   = 1.0
\n", "
\n", "
0x21 = 10000_1 = +0b1.1*2^0   = 1.5
\n", "
\n", "
0x22 = 10001_0 = +0b1.0*2^1   = 2.0
\n", "
\n", "
0x23 = 10001_1 = +0b1.1*2^1   = 3.0
\n", "
\n", "
0x24 = 10010_0 = +0b1.0*2^2   = 4.0
\n", "
\n", "
0x25 = 10010_1 = +0b1.1*2^2   = 6.0
\n", "
\n", "
0x26 = 10011_0 = +0b1.0*2^3   = 8.0
\n", "
\n", "
0x27 = 10011_1 = +0b1.1*2^3   = 12.0
\n", "
\n", "
0x28 = 10100_0 = +0b1.0*2^4   = 16.0
\n", "
\n", "
0x29 = 10100_1 = +0b1.1*2^4   = 24.0
\n", "
\n", "
0x2a = 10101_0 = +0b1.0*2^5   = 32.0
\n", "
\n", "
0x2b = 10101_1 = +0b1.1*2^5   = 48.0
\n", "
\n", "
0x2c = 10110_0 = +0b1.0*2^6   = 64.0
\n", "
\n", "
0x2d = 10110_1 = +0b1.1*2^6   = 96.0
\n", "
\n", "
0x2e = 10111_0 = +0b1.0*2^7   = 128.0
\n", "
\n", "
0x2f = 10111_1 = +0b1.1*2^7   = 192.0
\n", "
\n", "
0x30 = 11000_0 = +0b1.0*2^8   = 256.0
\n", "
\n", "
0x31 = 11000_1 = +0b1.1*2^8   = 384.0
\n", "
\n", "
0x32 = 11001_0 = +0b1.0*2^9   = 512.0
\n", "
\n", "
0x33 = 11001_1 = +0b1.1*2^9   = 768.0
\n", "
\n", "
0x34 = 11010_0 = +0b1.0*2^10  = 1024.0
\n", "
\n", "
0x35 = 11010_1 = +0b1.1*2^10  = 1536.0
\n", "
\n", "
0x36 = 11011_0 = +0b1.0*2^11  = 2048.0
\n", "
\n", "
0x37 = 11011_1 = +0b1.1*2^11  = 3072.0
\n", "
\n", "
0x38 = 11100_0 = +0b1.0*2^12  = 4096.0
\n", "
\n", "
0x39 = 11100_1 = +0b1.1*2^12  = 6144.0
\n", "
\n", "
0x3a = 11101_0 = +0b1.0*2^13  = 8192.0
\n", "
\n", "
0x3b = 11101_1 = +0b1.1*2^13  = 12288.0
\n", "
\n", "
0x3c = 11110_0 = +0b1.0*2^14  = 16384.0
\n", "
\n", "
0x3d = 11110_1 = +0b1.1*2^14  = 24576.0
\n", "
\n", "
0x3e = 11111_0 = inf = inf
\n", "
\n", "
0x3f = 11111_1 = nan = nan
\n", "
\n", "
\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
\n", "
0x00 = 00000_0 = 0.0 = 0.0
\n", "
\n", "
0x01 = 00000_1 = +0b0.1*2^-15 = ~1.526e-05
\n", "
\n", "
0x02 = 00001_0 = +0b1.0*2^-15 = ~3.052e-05
\n", "
\n", "
0x03 = 00001_1 = +0b1.1*2^-15 = ~4.578e-05
\n", "
\n", "
0x04 = 00010_0 = +0b1.0*2^-14 = ~6.104e-05
\n", "
\n", "
0x05 = 00010_1 = +0b1.1*2^-14 = ~9.155e-05
\n", "
\n", "
0x06 = 00011_0 = +0b1.0*2^-13 = ~0.0001
\n", "
\n", "
0x07 = 00011_1 = +0b1.1*2^-13 = ~0.0002
\n", "
\n", "
0x08 = 00100_0 = +0b1.0*2^-12 = ~0.0002
\n", "
\n", "
0x09 = 00100_1 = +0b1.1*2^-12 = ~0.0004
\n", "
\n", "
0x0a = 00101_0 = +0b1.0*2^-11 = ~0.0005
\n", "
\n", "
0x0b = 00101_1 = +0b1.1*2^-11 = ~0.0007
\n", "
\n", "
0x0c = 00110_0 = +0b1.0*2^-10 = ~0.0010
\n", "
\n", "
0x0d = 00110_1 = +0b1.1*2^-10 = ~0.0015
\n", "
\n", "
0x0e = 00111_0 = +0b1.0*2^-9  = ~0.0020
\n", "
\n", "
0x0f = 00111_1 = +0b1.1*2^-9  = ~0.0029
\n", "
\n", "
0x10 = 01000_0 = +0b1.0*2^-8  = ~0.0039
\n", "
\n", "
0x11 = 01000_1 = +0b1.1*2^-8  = ~0.0059
\n", "
\n", "
0x12 = 01001_0 = +0b1.0*2^-7  = ~0.0078
\n", "
\n", "
0x13 = 01001_1 = +0b1.1*2^-7  = ~0.0117
\n", "
\n", "
0x14 = 01010_0 = +0b1.0*2^-6  = 0.015625
\n", "
\n", "
0x15 = 01010_1 = +0b1.1*2^-6  = ~0.0234
\n", "
\n", "
0x16 = 01011_0 = +0b1.0*2^-5  = 0.03125
\n", "
\n", "
0x17 = 01011_1 = +0b1.1*2^-5  = 0.046875
\n", "
\n", "
0x18 = 01100_0 = +0b1.0*2^-4  = 0.0625
\n", "
\n", "
0x19 = 01100_1 = +0b1.1*2^-4  = 0.09375
\n", "
\n", "
0x1a = 01101_0 = +0b1.0*2^-3  = 0.125
\n", "
\n", "
0x1b = 01101_1 = +0b1.1*2^-3  = 0.1875
\n", "
\n", "
0x1c = 01110_0 = +0b1.0*2^-2  = 0.25
\n", "
\n", "
0x1d = 01110_1 = +0b1.1*2^-2  = 0.375
\n", "
\n", "
0x1e = 01111_0 = +0b1.0*2^-1  = 0.5
\n", "
\n", "
0x1f = 01111_1 = +0b1.1*2^-1  = 0.75
\n", "
\n", "
0x20 = 10000_0 = +0b1.0*2^0   = 1.0
\n", "
\n", "
0x21 = 10000_1 = +0b1.1*2^0   = 1.5
\n", "
\n", "
0x22 = 10001_0 = +0b1.0*2^1   = 2.0
\n", "
\n", "
0x23 = 10001_1 = +0b1.1*2^1   = 3.0
\n", "
\n", "
0x24 = 10010_0 = +0b1.0*2^2   = 4.0
\n", "
\n", "
0x25 = 10010_1 = +0b1.1*2^2   = 6.0
\n", "
\n", "
0x26 = 10011_0 = +0b1.0*2^3   = 8.0
\n", "
\n", "
0x27 = 10011_1 = +0b1.1*2^3   = 12.0
\n", "
\n", "
0x28 = 10100_0 = +0b1.0*2^4   = 16.0
\n", "
\n", "
0x29 = 10100_1 = +0b1.1*2^4   = 24.0
\n", "
\n", "
0x2a = 10101_0 = +0b1.0*2^5   = 32.0
\n", "
\n", "
0x2b = 10101_1 = +0b1.1*2^5   = 48.0
\n", "
\n", "
0x2c = 10110_0 = +0b1.0*2^6   = 64.0
\n", "
\n", "
0x2d = 10110_1 = +0b1.1*2^6   = 96.0
\n", "
\n", "
0x2e = 10111_0 = +0b1.0*2^7   = 128.0
\n", "
\n", "
0x2f = 10111_1 = +0b1.1*2^7   = 192.0
\n", "
\n", "
0x30 = 11000_0 = +0b1.0*2^8   = 256.0
\n", "
\n", "
0x31 = 11000_1 = +0b1.1*2^8   = 384.0
\n", "
\n", "
0x32 = 11001_0 = +0b1.0*2^9   = 512.0
\n", "
\n", "
0x33 = 11001_1 = +0b1.1*2^9   = 768.0
\n", "
\n", "
0x34 = 11010_0 = +0b1.0*2^10  = 1024.0
\n", "
\n", "
0x35 = 11010_1 = +0b1.1*2^10  = 1536.0
\n", "
\n", "
0x36 = 11011_0 = +0b1.0*2^11  = 2048.0
\n", "
\n", "
0x37 = 11011_1 = +0b1.1*2^11  = 3072.0
\n", "
\n", "
0x38 = 11100_0 = +0b1.0*2^12  = 4096.0
\n", "
\n", "
0x39 = 11100_1 = +0b1.1*2^12  = 6144.0
\n", "
\n", "
0x3a = 11101_0 = +0b1.0*2^13  = 8192.0
\n", "
\n", "
0x3b = 11101_1 = +0b1.1*2^13  = 12288.0
\n", "
\n", "
0x3c = 11110_0 = +0b1.0*2^14  = 16384.0
\n", "
\n", "
0x3d = 11110_1 = +0b1.1*2^14  = 24576.0
\n", "
\n", "
0x3e = 11111_0 = +0b1.0*2^15  = 32768.0
\n", "
\n", "
0x3f = 11111_1 = nan = nan
\n", "
\n", "
\n", "
\n", " \n", "" ], "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", "

\n", "
\n", "\n", "
\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
p3109_k6p3sep3109_k6p3sfp3109_k6p3uep3109_k6p3uf
\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
\n", "
0x00 = 0_000_00 = 0.0 = 0.0
\n", "
\n", "
0x01 = 0_000_01 = +0b0.01*2^-3  = 0.03125
\n", "
\n", "
0x02 = 0_000_10 = +0b0.10*2^-3  = 0.0625
\n", "
\n", "
0x03 = 0_000_11 = +0b0.11*2^-3  = 0.09375
\n", "
\n", "
0x04 = 0_001_00 = +0b1.00*2^-3  = 0.125
\n", "
\n", "
0x05 = 0_001_01 = +0b1.01*2^-3  = 0.15625
\n", "
\n", "
0x06 = 0_001_10 = +0b1.10*2^-3  = 0.1875
\n", "
\n", "
0x07 = 0_001_11 = +0b1.11*2^-3  = 0.21875
\n", "
\n", "
0x08 = 0_010_00 = +0b1.00*2^-2  = 0.25
\n", "
\n", "
0x09 = 0_010_01 = +0b1.01*2^-2  = 0.3125
\n", "
\n", "
0x0a = 0_010_10 = +0b1.10*2^-2  = 0.375
\n", "
\n", "
0x0b = 0_010_11 = +0b1.11*2^-2  = 0.4375
\n", "
\n", "
0x0c = 0_011_00 = +0b1.00*2^-1  = 0.5
\n", "
\n", "
0x0d = 0_011_01 = +0b1.01*2^-1  = 0.625
\n", "
\n", "
0x0e = 0_011_10 = +0b1.10*2^-1  = 0.75
\n", "
\n", "
0x0f = 0_011_11 = +0b1.11*2^-1  = 0.875
\n", "
\n", "
0x10 = 0_100_00 = +0b1.00*2^0   = 1.0
\n", "
\n", "
0x11 = 0_100_01 = +0b1.01*2^0   = 1.25
\n", "
\n", "
0x12 = 0_100_10 = +0b1.10*2^0   = 1.5
\n", "
\n", "
0x13 = 0_100_11 = +0b1.11*2^0   = 1.75
\n", "
\n", "
0x14 = 0_101_00 = +0b1.00*2^1   = 2.0
\n", "
\n", "
0x15 = 0_101_01 = +0b1.01*2^1   = 2.5
\n", "
\n", "
0x16 = 0_101_10 = +0b1.10*2^1   = 3.0
\n", "
\n", "
0x17 = 0_101_11 = +0b1.11*2^1   = 3.5
\n", "
\n", "
0x18 = 0_110_00 = +0b1.00*2^2   = 4.0
\n", "
\n", "
0x19 = 0_110_01 = +0b1.01*2^2   = 5.0
\n", "
\n", "
0x1a = 0_110_10 = +0b1.10*2^2   = 6.0
\n", "
\n", "
0x1b = 0_110_11 = +0b1.11*2^2   = 7.0
\n", "
\n", "
0x1c = 0_111_00 = +0b1.00*2^3   = 8.0
\n", "
\n", "
0x1d = 0_111_01 = +0b1.01*2^3   = 10.0
\n", "
\n", "
0x1e = 0_111_10 = +0b1.10*2^3   = 12.0
\n", "
\n", "
0x1f = 0_111_11 = inf = inf
\n", "
\n", "
0x20 = 1_000_00 = nan = nan
\n", "
\n", "
0x21 = 1_000_01 = -0b0.01*2^-3  = -0.03125
\n", "
\n", "
0x22 = 1_000_10 = -0b0.10*2^-3  = -0.0625
\n", "
\n", "
0x23 = 1_000_11 = -0b0.11*2^-3  = -0.09375
\n", "
\n", "
0x24 = 1_001_00 = -0b1.00*2^-3  = -0.125
\n", "
\n", "
0x25 = 1_001_01 = -0b1.01*2^-3  = -0.15625
\n", "
\n", "
0x26 = 1_001_10 = -0b1.10*2^-3  = -0.1875
\n", "
\n", "
0x27 = 1_001_11 = -0b1.11*2^-3  = -0.21875
\n", "
\n", "
0x28 = 1_010_00 = -0b1.00*2^-2  = -0.25
\n", "
\n", "
0x29 = 1_010_01 = -0b1.01*2^-2  = -0.3125
\n", "
\n", "
0x2a = 1_010_10 = -0b1.10*2^-2  = -0.375
\n", "
\n", "
0x2b = 1_010_11 = -0b1.11*2^-2  = -0.4375
\n", "
\n", "
0x2c = 1_011_00 = -0b1.00*2^-1  = -0.5
\n", "
\n", "
0x2d = 1_011_01 = -0b1.01*2^-1  = -0.625
\n", "
\n", "
0x2e = 1_011_10 = -0b1.10*2^-1  = -0.75
\n", "
\n", "
0x2f = 1_011_11 = -0b1.11*2^-1  = -0.875
\n", "
\n", "
0x30 = 1_100_00 = -0b1.00*2^0   = -1.0
\n", "
\n", "
0x31 = 1_100_01 = -0b1.01*2^0   = -1.25
\n", "
\n", "
0x32 = 1_100_10 = -0b1.10*2^0   = -1.5
\n", "
\n", "
0x33 = 1_100_11 = -0b1.11*2^0   = -1.75
\n", "
\n", "
0x34 = 1_101_00 = -0b1.00*2^1   = -2.0
\n", "
\n", "
0x35 = 1_101_01 = -0b1.01*2^1   = -2.5
\n", "
\n", "
0x36 = 1_101_10 = -0b1.10*2^1   = -3.0
\n", "
\n", "
0x37 = 1_101_11 = -0b1.11*2^1   = -3.5
\n", "
\n", "
0x38 = 1_110_00 = -0b1.00*2^2   = -4.0
\n", "
\n", "
0x39 = 1_110_01 = -0b1.01*2^2   = -5.0
\n", "
\n", "
0x3a = 1_110_10 = -0b1.10*2^2   = -6.0
\n", "
\n", "
0x3b = 1_110_11 = -0b1.11*2^2   = -7.0
\n", "
\n", "
0x3c = 1_111_00 = -0b1.00*2^3   = -8.0
\n", "
\n", "
0x3d = 1_111_01 = -0b1.01*2^3   = -10.0
\n", "
\n", "
0x3e = 1_111_10 = -0b1.10*2^3   = -12.0
\n", "
\n", "
0x3f = 1_111_11 = -inf = -inf
\n", "
\n", "
\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
\n", "
0x00 = 0_000_00 = 0.0 = 0.0
\n", "
\n", "
0x01 = 0_000_01 = +0b0.01*2^-3  = 0.03125
\n", "
\n", "
0x02 = 0_000_10 = +0b0.10*2^-3  = 0.0625
\n", "
\n", "
0x03 = 0_000_11 = +0b0.11*2^-3  = 0.09375
\n", "
\n", "
0x04 = 0_001_00 = +0b1.00*2^-3  = 0.125
\n", "
\n", "
0x05 = 0_001_01 = +0b1.01*2^-3  = 0.15625
\n", "
\n", "
0x06 = 0_001_10 = +0b1.10*2^-3  = 0.1875
\n", "
\n", "
0x07 = 0_001_11 = +0b1.11*2^-3  = 0.21875
\n", "
\n", "
0x08 = 0_010_00 = +0b1.00*2^-2  = 0.25
\n", "
\n", "
0x09 = 0_010_01 = +0b1.01*2^-2  = 0.3125
\n", "
\n", "
0x0a = 0_010_10 = +0b1.10*2^-2  = 0.375
\n", "
\n", "
0x0b = 0_010_11 = +0b1.11*2^-2  = 0.4375
\n", "
\n", "
0x0c = 0_011_00 = +0b1.00*2^-1  = 0.5
\n", "
\n", "
0x0d = 0_011_01 = +0b1.01*2^-1  = 0.625
\n", "
\n", "
0x0e = 0_011_10 = +0b1.10*2^-1  = 0.75
\n", "
\n", "
0x0f = 0_011_11 = +0b1.11*2^-1  = 0.875
\n", "
\n", "
0x10 = 0_100_00 = +0b1.00*2^0   = 1.0
\n", "
\n", "
0x11 = 0_100_01 = +0b1.01*2^0   = 1.25
\n", "
\n", "
0x12 = 0_100_10 = +0b1.10*2^0   = 1.5
\n", "
\n", "
0x13 = 0_100_11 = +0b1.11*2^0   = 1.75
\n", "
\n", "
0x14 = 0_101_00 = +0b1.00*2^1   = 2.0
\n", "
\n", "
0x15 = 0_101_01 = +0b1.01*2^1   = 2.5
\n", "
\n", "
0x16 = 0_101_10 = +0b1.10*2^1   = 3.0
\n", "
\n", "
0x17 = 0_101_11 = +0b1.11*2^1   = 3.5
\n", "
\n", "
0x18 = 0_110_00 = +0b1.00*2^2   = 4.0
\n", "
\n", "
0x19 = 0_110_01 = +0b1.01*2^2   = 5.0
\n", "
\n", "
0x1a = 0_110_10 = +0b1.10*2^2   = 6.0
\n", "
\n", "
0x1b = 0_110_11 = +0b1.11*2^2   = 7.0
\n", "
\n", "
0x1c = 0_111_00 = +0b1.00*2^3   = 8.0
\n", "
\n", "
0x1d = 0_111_01 = +0b1.01*2^3   = 10.0
\n", "
\n", "
0x1e = 0_111_10 = +0b1.10*2^3   = 12.0
\n", "
\n", "
0x1f = 0_111_11 = +0b1.11*2^3   = 14.0
\n", "
\n", "
0x20 = 1_000_00 = nan = nan
\n", "
\n", "
0x21 = 1_000_01 = -0b0.01*2^-3  = -0.03125
\n", "
\n", "
0x22 = 1_000_10 = -0b0.10*2^-3  = -0.0625
\n", "
\n", "
0x23 = 1_000_11 = -0b0.11*2^-3  = -0.09375
\n", "
\n", "
0x24 = 1_001_00 = -0b1.00*2^-3  = -0.125
\n", "
\n", "
0x25 = 1_001_01 = -0b1.01*2^-3  = -0.15625
\n", "
\n", "
0x26 = 1_001_10 = -0b1.10*2^-3  = -0.1875
\n", "
\n", "
0x27 = 1_001_11 = -0b1.11*2^-3  = -0.21875
\n", "
\n", "
0x28 = 1_010_00 = -0b1.00*2^-2  = -0.25
\n", "
\n", "
0x29 = 1_010_01 = -0b1.01*2^-2  = -0.3125
\n", "
\n", "
0x2a = 1_010_10 = -0b1.10*2^-2  = -0.375
\n", "
\n", "
0x2b = 1_010_11 = -0b1.11*2^-2  = -0.4375
\n", "
\n", "
0x2c = 1_011_00 = -0b1.00*2^-1  = -0.5
\n", "
\n", "
0x2d = 1_011_01 = -0b1.01*2^-1  = -0.625
\n", "
\n", "
0x2e = 1_011_10 = -0b1.10*2^-1  = -0.75
\n", "
\n", "
0x2f = 1_011_11 = -0b1.11*2^-1  = -0.875
\n", "
\n", "
0x30 = 1_100_00 = -0b1.00*2^0   = -1.0
\n", "
\n", "
0x31 = 1_100_01 = -0b1.01*2^0   = -1.25
\n", "
\n", "
0x32 = 1_100_10 = -0b1.10*2^0   = -1.5
\n", "
\n", "
0x33 = 1_100_11 = -0b1.11*2^0   = -1.75
\n", "
\n", "
0x34 = 1_101_00 = -0b1.00*2^1   = -2.0
\n", "
\n", "
0x35 = 1_101_01 = -0b1.01*2^1   = -2.5
\n", "
\n", "
0x36 = 1_101_10 = -0b1.10*2^1   = -3.0
\n", "
\n", "
0x37 = 1_101_11 = -0b1.11*2^1   = -3.5
\n", "
\n", "
0x38 = 1_110_00 = -0b1.00*2^2   = -4.0
\n", "
\n", "
0x39 = 1_110_01 = -0b1.01*2^2   = -5.0
\n", "
\n", "
0x3a = 1_110_10 = -0b1.10*2^2   = -6.0
\n", "
\n", "
0x3b = 1_110_11 = -0b1.11*2^2   = -7.0
\n", "
\n", "
0x3c = 1_111_00 = -0b1.00*2^3   = -8.0
\n", "
\n", "
0x3d = 1_111_01 = -0b1.01*2^3   = -10.0
\n", "
\n", "
0x3e = 1_111_10 = -0b1.10*2^3   = -12.0
\n", "
\n", "
0x3f = 1_111_11 = -0b1.11*2^3   = -14.0
\n", "
\n", "
\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
\n", "
0x00 = 0000_00 = 0.0 = 0.0
\n", "
\n", "
0x01 = 0000_01 = +0b0.01*2^-7  = ~0.0020
\n", "
\n", "
0x02 = 0000_10 = +0b0.10*2^-7  = ~0.0039
\n", "
\n", "
0x03 = 0000_11 = +0b0.11*2^-7  = ~0.0059
\n", "
\n", "
0x04 = 0001_00 = +0b1.00*2^-7  = ~0.0078
\n", "
\n", "
0x05 = 0001_01 = +0b1.01*2^-7  = ~0.0098
\n", "
\n", "
0x06 = 0001_10 = +0b1.10*2^-7  = ~0.0117
\n", "
\n", "
0x07 = 0001_11 = +0b1.11*2^-7  = ~0.0137
\n", "
\n", "
0x08 = 0010_00 = +0b1.00*2^-6  = 0.015625
\n", "
\n", "
0x09 = 0010_01 = +0b1.01*2^-6  = ~0.0195
\n", "
\n", "
0x0a = 0010_10 = +0b1.10*2^-6  = ~0.0234
\n", "
\n", "
0x0b = 0010_11 = +0b1.11*2^-6  = ~0.0273
\n", "
\n", "
0x0c = 0011_00 = +0b1.00*2^-5  = 0.03125
\n", "
\n", "
0x0d = 0011_01 = +0b1.01*2^-5  = ~0.0391
\n", "
\n", "
0x0e = 0011_10 = +0b1.10*2^-5  = 0.046875
\n", "
\n", "
0x0f = 0011_11 = +0b1.11*2^-5  = ~0.0547
\n", "
\n", "
0x10 = 0100_00 = +0b1.00*2^-4  = 0.0625
\n", "
\n", "
0x11 = 0100_01 = +0b1.01*2^-4  = 0.078125
\n", "
\n", "
0x12 = 0100_10 = +0b1.10*2^-4  = 0.09375
\n", "
\n", "
0x13 = 0100_11 = +0b1.11*2^-4  = 0.109375
\n", "
\n", "
0x14 = 0101_00 = +0b1.00*2^-3  = 0.125
\n", "
\n", "
0x15 = 0101_01 = +0b1.01*2^-3  = 0.15625
\n", "
\n", "
0x16 = 0101_10 = +0b1.10*2^-3  = 0.1875
\n", "
\n", "
0x17 = 0101_11 = +0b1.11*2^-3  = 0.21875
\n", "
\n", "
0x18 = 0110_00 = +0b1.00*2^-2  = 0.25
\n", "
\n", "
0x19 = 0110_01 = +0b1.01*2^-2  = 0.3125
\n", "
\n", "
0x1a = 0110_10 = +0b1.10*2^-2  = 0.375
\n", "
\n", "
0x1b = 0110_11 = +0b1.11*2^-2  = 0.4375
\n", "
\n", "
0x1c = 0111_00 = +0b1.00*2^-1  = 0.5
\n", "
\n", "
0x1d = 0111_01 = +0b1.01*2^-1  = 0.625
\n", "
\n", "
0x1e = 0111_10 = +0b1.10*2^-1  = 0.75
\n", "
\n", "
0x1f = 0111_11 = +0b1.11*2^-1  = 0.875
\n", "
\n", "
0x20 = 1000_00 = +0b1.00*2^0   = 1.0
\n", "
\n", "
0x21 = 1000_01 = +0b1.01*2^0   = 1.25
\n", "
\n", "
0x22 = 1000_10 = +0b1.10*2^0   = 1.5
\n", "
\n", "
0x23 = 1000_11 = +0b1.11*2^0   = 1.75
\n", "
\n", "
0x24 = 1001_00 = +0b1.00*2^1   = 2.0
\n", "
\n", "
0x25 = 1001_01 = +0b1.01*2^1   = 2.5
\n", "
\n", "
0x26 = 1001_10 = +0b1.10*2^1   = 3.0
\n", "
\n", "
0x27 = 1001_11 = +0b1.11*2^1   = 3.5
\n", "
\n", "
0x28 = 1010_00 = +0b1.00*2^2   = 4.0
\n", "
\n", "
0x29 = 1010_01 = +0b1.01*2^2   = 5.0
\n", "
\n", "
0x2a = 1010_10 = +0b1.10*2^2   = 6.0
\n", "
\n", "
0x2b = 1010_11 = +0b1.11*2^2   = 7.0
\n", "
\n", "
0x2c = 1011_00 = +0b1.00*2^3   = 8.0
\n", "
\n", "
0x2d = 1011_01 = +0b1.01*2^3   = 10.0
\n", "
\n", "
0x2e = 1011_10 = +0b1.10*2^3   = 12.0
\n", "
\n", "
0x2f = 1011_11 = +0b1.11*2^3   = 14.0
\n", "
\n", "
0x30 = 1100_00 = +0b1.00*2^4   = 16.0
\n", "
\n", "
0x31 = 1100_01 = +0b1.01*2^4   = 20.0
\n", "
\n", "
0x32 = 1100_10 = +0b1.10*2^4   = 24.0
\n", "
\n", "
0x33 = 1100_11 = +0b1.11*2^4   = 28.0
\n", "
\n", "
0x34 = 1101_00 = +0b1.00*2^5   = 32.0
\n", "
\n", "
0x35 = 1101_01 = +0b1.01*2^5   = 40.0
\n", "
\n", "
0x36 = 1101_10 = +0b1.10*2^5   = 48.0
\n", "
\n", "
0x37 = 1101_11 = +0b1.11*2^5   = 56.0
\n", "
\n", "
0x38 = 1110_00 = +0b1.00*2^6   = 64.0
\n", "
\n", "
0x39 = 1110_01 = +0b1.01*2^6   = 80.0
\n", "
\n", "
0x3a = 1110_10 = +0b1.10*2^6   = 96.0
\n", "
\n", "
0x3b = 1110_11 = +0b1.11*2^6   = 112.0
\n", "
\n", "
0x3c = 1111_00 = +0b1.00*2^7   = 128.0
\n", "
\n", "
0x3d = 1111_01 = +0b1.01*2^7   = 160.0
\n", "
\n", "
0x3e = 1111_10 = inf = inf
\n", "
\n", "
0x3f = 1111_11 = nan = nan
\n", "
\n", "
\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
\n", "
0x00 = 0000_00 = 0.0 = 0.0
\n", "
\n", "
0x01 = 0000_01 = +0b0.01*2^-7  = ~0.0020
\n", "
\n", "
0x02 = 0000_10 = +0b0.10*2^-7  = ~0.0039
\n", "
\n", "
0x03 = 0000_11 = +0b0.11*2^-7  = ~0.0059
\n", "
\n", "
0x04 = 0001_00 = +0b1.00*2^-7  = ~0.0078
\n", "
\n", "
0x05 = 0001_01 = +0b1.01*2^-7  = ~0.0098
\n", "
\n", "
0x06 = 0001_10 = +0b1.10*2^-7  = ~0.0117
\n", "
\n", "
0x07 = 0001_11 = +0b1.11*2^-7  = ~0.0137
\n", "
\n", "
0x08 = 0010_00 = +0b1.00*2^-6  = 0.015625
\n", "
\n", "
0x09 = 0010_01 = +0b1.01*2^-6  = ~0.0195
\n", "
\n", "
0x0a = 0010_10 = +0b1.10*2^-6  = ~0.0234
\n", "
\n", "
0x0b = 0010_11 = +0b1.11*2^-6  = ~0.0273
\n", "
\n", "
0x0c = 0011_00 = +0b1.00*2^-5  = 0.03125
\n", "
\n", "
0x0d = 0011_01 = +0b1.01*2^-5  = ~0.0391
\n", "
\n", "
0x0e = 0011_10 = +0b1.10*2^-5  = 0.046875
\n", "
\n", "
0x0f = 0011_11 = +0b1.11*2^-5  = ~0.0547
\n", "
\n", "
0x10 = 0100_00 = +0b1.00*2^-4  = 0.0625
\n", "
\n", "
0x11 = 0100_01 = +0b1.01*2^-4  = 0.078125
\n", "
\n", "
0x12 = 0100_10 = +0b1.10*2^-4  = 0.09375
\n", "
\n", "
0x13 = 0100_11 = +0b1.11*2^-4  = 0.109375
\n", "
\n", "
0x14 = 0101_00 = +0b1.00*2^-3  = 0.125
\n", "
\n", "
0x15 = 0101_01 = +0b1.01*2^-3  = 0.15625
\n", "
\n", "
0x16 = 0101_10 = +0b1.10*2^-3  = 0.1875
\n", "
\n", "
0x17 = 0101_11 = +0b1.11*2^-3  = 0.21875
\n", "
\n", "
0x18 = 0110_00 = +0b1.00*2^-2  = 0.25
\n", "
\n", "
0x19 = 0110_01 = +0b1.01*2^-2  = 0.3125
\n", "
\n", "
0x1a = 0110_10 = +0b1.10*2^-2  = 0.375
\n", "
\n", "
0x1b = 0110_11 = +0b1.11*2^-2  = 0.4375
\n", "
\n", "
0x1c = 0111_00 = +0b1.00*2^-1  = 0.5
\n", "
\n", "
0x1d = 0111_01 = +0b1.01*2^-1  = 0.625
\n", "
\n", "
0x1e = 0111_10 = +0b1.10*2^-1  = 0.75
\n", "
\n", "
0x1f = 0111_11 = +0b1.11*2^-1  = 0.875
\n", "
\n", "
0x20 = 1000_00 = +0b1.00*2^0   = 1.0
\n", "
\n", "
0x21 = 1000_01 = +0b1.01*2^0   = 1.25
\n", "
\n", "
0x22 = 1000_10 = +0b1.10*2^0   = 1.5
\n", "
\n", "
0x23 = 1000_11 = +0b1.11*2^0   = 1.75
\n", "
\n", "
0x24 = 1001_00 = +0b1.00*2^1   = 2.0
\n", "
\n", "
0x25 = 1001_01 = +0b1.01*2^1   = 2.5
\n", "
\n", "
0x26 = 1001_10 = +0b1.10*2^1   = 3.0
\n", "
\n", "
0x27 = 1001_11 = +0b1.11*2^1   = 3.5
\n", "
\n", "
0x28 = 1010_00 = +0b1.00*2^2   = 4.0
\n", "
\n", "
0x29 = 1010_01 = +0b1.01*2^2   = 5.0
\n", "
\n", "
0x2a = 1010_10 = +0b1.10*2^2   = 6.0
\n", "
\n", "
0x2b = 1010_11 = +0b1.11*2^2   = 7.0
\n", "
\n", "
0x2c = 1011_00 = +0b1.00*2^3   = 8.0
\n", "
\n", "
0x2d = 1011_01 = +0b1.01*2^3   = 10.0
\n", "
\n", "
0x2e = 1011_10 = +0b1.10*2^3   = 12.0
\n", "
\n", "
0x2f = 1011_11 = +0b1.11*2^3   = 14.0
\n", "
\n", "
0x30 = 1100_00 = +0b1.00*2^4   = 16.0
\n", "
\n", "
0x31 = 1100_01 = +0b1.01*2^4   = 20.0
\n", "
\n", "
0x32 = 1100_10 = +0b1.10*2^4   = 24.0
\n", "
\n", "
0x33 = 1100_11 = +0b1.11*2^4   = 28.0
\n", "
\n", "
0x34 = 1101_00 = +0b1.00*2^5   = 32.0
\n", "
\n", "
0x35 = 1101_01 = +0b1.01*2^5   = 40.0
\n", "
\n", "
0x36 = 1101_10 = +0b1.10*2^5   = 48.0
\n", "
\n", "
0x37 = 1101_11 = +0b1.11*2^5   = 56.0
\n", "
\n", "
0x38 = 1110_00 = +0b1.00*2^6   = 64.0
\n", "
\n", "
0x39 = 1110_01 = +0b1.01*2^6   = 80.0
\n", "
\n", "
0x3a = 1110_10 = +0b1.10*2^6   = 96.0
\n", "
\n", "
0x3b = 1110_11 = +0b1.11*2^6   = 112.0
\n", "
\n", "
0x3c = 1111_00 = +0b1.00*2^7   = 128.0
\n", "
\n", "
0x3d = 1111_01 = +0b1.01*2^7   = 160.0
\n", "
\n", "
0x3e = 1111_10 = +0b1.10*2^7   = 192.0
\n", "
\n", "
0x3f = 1111_11 = nan = nan
\n", "
\n", "
\n", "
\n", " \n", "" ], "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "for p in (2, 3):\n", " fis = [\n", " format_info_p3109(6, p, signedness, domain)\n", " for signedness in (Signedness.Signed, Signedness.Unsigned)\n", " for domain in (Domain.Extended, Domain.Finite)\n", " ]\n", " render(fis, short=False)" ] }, { "cell_type": "markdown", "id": "d4707056", "metadata": {}, "source": [ "### IEEE P3109 4-bit formats\n", "\n", "The IEEE P3109 interim report describes a family of formats parameterized by K and P, in which three 4-bit formats are defined.\n", "\n", "The p=2 format is similar to OCP E2M1, with inf and nan:" ] }, { "cell_type": "code", "execution_count": 12, "id": "01891136", "metadata": {}, "outputs": [ { "data": { "text/html": [ "\n", "\n", "\n", " \n", " \n", " FP4 Value Table, p3109_k4p2se\n", " \n", " \n", "

FP4 Value Table, p3109_k4p2se

\n", "
\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
\n", "
0x00 = 0_00_0 = 0.0 = 0.0
\n", "
\n", "
0x08 = 1_00_0 = nan = nan
\n", "
\n", "
0x01 = 0_00_1 = +0b0.1*2^-1  = 0.25
\n", "
\n", "
0x09 = 1_00_1 = -0b0.1*2^-1  = -0.25
\n", "
\n", "
0x02 = 0_01_0 = +0b1.0*2^-1  = 0.5
\n", "
\n", "
0x0a = 1_01_0 = -0b1.0*2^-1  = -0.5
\n", "
\n", "
0x03 = 0_01_1 = +0b1.1*2^-1  = 0.75
\n", "
\n", "
0x0b = 1_01_1 = -0b1.1*2^-1  = -0.75
\n", "
\n", "
0x04 = 0_10_0 = +0b1.0*2^0   = 1.0
\n", "
\n", "
0x0c = 1_10_0 = -0b1.0*2^0   = -1.0
\n", "
\n", "
0x05 = 0_10_1 = +0b1.1*2^0   = 1.5
\n", "
\n", "
0x0d = 1_10_1 = -0b1.1*2^0   = -1.5
\n", "
\n", "
0x06 = 0_11_0 = +0b1.0*2^1   = 2.0
\n", "
\n", "
0x0e = 1_11_0 = -0b1.0*2^1   = -2.0
\n", "
\n", "
0x07 = 0_11_1 = inf = inf
\n", "
\n", "
0x0f = 1_11_1 = -inf = -inf
\n", "
\n", " \n", "" ], "text/plain": [ "" ] }, "execution_count": 12, "metadata": {}, "output_type": "execute_result" } ], "source": [ "HTML(airdoc(*mktbl(Airium(), format_info_p3109(4, 2), cols=2, width=8, d=3)))" ] }, { "cell_type": "markdown", "id": "aaa20ff4", "metadata": {}, "source": [ "While the p=1 format is a \"pure exponential\" format with values 2^-2 to 2^3:" ] }, { "cell_type": "code", "execution_count": 13, "id": "e7453dbd", "metadata": {}, "outputs": [ { "data": { "text/html": [ "\n", "\n", "\n", " \n", " \n", " FP4 Value Table, p3109_k4p1se\n", " \n", " \n", "

FP4 Value Table, p3109_k4p1se

\n", "
\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
\n", "
0x00 = 0_000_ = 0.0 = 0.0
\n", "
\n", "
0x08 = 1_000_ = nan = nan
\n", "
\n", "
0x01 = 0_001_ = +0b1.0*2^-3  = 0.125
\n", "
\n", "
0x09 = 1_001_ = -0b1.0*2^-3  = -0.125
\n", "
\n", "
0x02 = 0_010_ = +0b1.0*2^-2  = 0.25
\n", "
\n", "
0x0a = 1_010_ = -0b1.0*2^-2  = -0.25
\n", "
\n", "
0x03 = 0_011_ = +0b1.0*2^-1  = 0.5
\n", "
\n", "
0x0b = 1_011_ = -0b1.0*2^-1  = -0.5
\n", "
\n", "
0x04 = 0_100_ = +0b1.0*2^0   = 1.0
\n", "
\n", "
0x0c = 1_100_ = -0b1.0*2^0   = -1.0
\n", "
\n", "
0x05 = 0_101_ = +0b1.0*2^1   = 2.0
\n", "
\n", "
0x0d = 1_101_ = -0b1.0*2^1   = -2.0
\n", "
\n", "
0x06 = 0_110_ = +0b1.0*2^2   = 4.0
\n", "
\n", "
0x0e = 1_110_ = -0b1.0*2^2   = -4.0
\n", "
\n", "
0x07 = 0_111_ = inf = inf
\n", "
\n", "
0x0f = 1_111_ = -inf = -inf
\n", "
\n", " \n", "" ], "text/plain": [ "" ] }, "execution_count": 13, "metadata": {}, "output_type": "execute_result" } ], "source": [ "HTML(airdoc(*mktbl(Airium(), format_info_p3109(4, 1), cols=2, width=8, d=3)))" ] }, { "cell_type": "markdown", "id": "b701cd05", "metadata": {}, "source": [ "And p=3, a linear format with values 0.25 * range(7)" ] }, { "cell_type": "code", "execution_count": 14, "id": "1d14d7ac", "metadata": {}, "outputs": [ { "data": { "text/html": [ "\n", "\n", "\n", " \n", " \n", " FP4 Value Table, p3109_k4p3se\n", " \n", " \n", "

FP4 Value Table, p3109_k4p3se

\n", "
\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
\n", "
0x00 = 0_0_00 = 0.0 = 0.0
\n", "
\n", "
0x08 = 1_0_00 = nan = nan
\n", "
\n", "
0x01 = 0_0_01 = +0b0.01*2^0   = 0.25
\n", "
\n", "
0x09 = 1_0_01 = -0b0.01*2^0   = -0.25
\n", "
\n", "
0x02 = 0_0_10 = +0b0.10*2^0   = 0.5
\n", "
\n", "
0x0a = 1_0_10 = -0b0.10*2^0   = -0.5
\n", "
\n", "
0x03 = 0_0_11 = +0b0.11*2^0   = 0.75
\n", "
\n", "
0x0b = 1_0_11 = -0b0.11*2^0   = -0.75
\n", "
\n", "
0x04 = 0_1_00 = +0b1.00*2^0   = 1.0
\n", "
\n", "
0x0c = 1_1_00 = -0b1.00*2^0   = -1.0
\n", "
\n", "
0x05 = 0_1_01 = +0b1.01*2^0   = 1.25
\n", "
\n", "
0x0d = 1_1_01 = -0b1.01*2^0   = -1.25
\n", "
\n", "
0x06 = 0_1_10 = +0b1.10*2^0   = 1.5
\n", "
\n", "
0x0e = 1_1_10 = -0b1.10*2^0   = -1.5
\n", "
\n", "
0x07 = 0_1_11 = inf = inf
\n", "
\n", "
0x0f = 1_1_11 = -inf = -inf
\n", "
\n", " \n", "" ], "text/plain": [ "" ] }, "execution_count": 14, "metadata": {}, "output_type": "execute_result" } ], "source": [ "HTML(airdoc(*mktbl(Airium(), format_info_p3109(4, 3), cols=2, width=8, d=3)))" ] }, { "cell_type": "markdown", "id": "8a598f1b", "metadata": {}, "source": [ "### OCP E2M3\n", "\n", "This 6-bit format has 32 values, with no `NaN` or `Inf`, but does have `-0`.\n", "The positive subnormals are the linear ramp of eighths: [n/8 for n in 1:7].\n", "\n", "One might describe the format in text as:\n", "\n", "> zero to one by eighths, two to four by quarters, four to eight by halves\n", "\n", "where \"to\" is open-ended, or \"to\" is not \"thru\"." ] }, { "cell_type": "code", "execution_count": 15, "id": "0e7a9398", "metadata": {}, "outputs": [ { "data": { "text/html": [ "\n", "\n", "\n", " \n", " \n", " FP6 Value Table, ocp_e2m3\n", " \n", " \n", "

FP6 Value Table, ocp_e2m3

\n", "
\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
\n", "
0x00 = 0_00_000 = 0.0 = 0.0
\n", "
\n", "
0x20 = 1_00_000 = -0.0 = -0.0
\n", "
\n", "
0x01 = 0_00_001 = +0b0.001*2^0   = 0.125
\n", "
\n", "
0x21 = 1_00_001 = -0b0.001*2^0   = -0.125
\n", "
\n", "
0x02 = 0_00_010 = +0b0.010*2^0   = 0.25
\n", "
\n", "
0x22 = 1_00_010 = -0b0.010*2^0   = -0.25
\n", "
\n", "
0x03 = 0_00_011 = +0b0.011*2^0   = 0.375
\n", "
\n", "
0x23 = 1_00_011 = -0b0.011*2^0   = -0.375
\n", "
\n", "
0x04 = 0_00_100 = +0b0.100*2^0   = 0.5
\n", "
\n", "
0x24 = 1_00_100 = -0b0.100*2^0   = -0.5
\n", "
\n", "
0x05 = 0_00_101 = +0b0.101*2^0   = 0.625
\n", "
\n", "
0x25 = 1_00_101 = -0b0.101*2^0   = -0.625
\n", "
\n", "
0x06 = 0_00_110 = +0b0.110*2^0   = 0.75
\n", "
\n", "
0x26 = 1_00_110 = -0b0.110*2^0   = -0.75
\n", "
\n", "
0x07 = 0_00_111 = +0b0.111*2^0   = 0.875
\n", "
\n", "
0x27 = 1_00_111 = -0b0.111*2^0   = -0.875
\n", "
\n", "
0x08 = 0_01_000 = +0b1.000*2^0   = 1.0
\n", "
\n", "
0x28 = 1_01_000 = -0b1.000*2^0   = -1.0
\n", "
\n", "
0x09 = 0_01_001 = +0b1.001*2^0   = 1.125
\n", "
\n", "
0x29 = 1_01_001 = -0b1.001*2^0   = -1.125
\n", "
\n", "
0x0a = 0_01_010 = +0b1.010*2^0   = 1.25
\n", "
\n", "
0x2a = 1_01_010 = -0b1.010*2^0   = -1.25
\n", "
\n", "
0x0b = 0_01_011 = +0b1.011*2^0   = 1.375
\n", "
\n", "
0x2b = 1_01_011 = -0b1.011*2^0   = -1.375
\n", "
\n", "
0x0c = 0_01_100 = +0b1.100*2^0   = 1.5
\n", "
\n", "
0x2c = 1_01_100 = -0b1.100*2^0   = -1.5
\n", "
\n", "
0x0d = 0_01_101 = +0b1.101*2^0   = 1.625
\n", "
\n", "
0x2d = 1_01_101 = -0b1.101*2^0   = -1.625
\n", "
\n", "
0x0e = 0_01_110 = +0b1.110*2^0   = 1.75
\n", "
\n", "
0x2e = 1_01_110 = -0b1.110*2^0   = -1.75
\n", "
\n", "
0x0f = 0_01_111 = +0b1.111*2^0   = 1.875
\n", "
\n", "
0x2f = 1_01_111 = -0b1.111*2^0   = -1.875
\n", "
\n", "
0x10 = 0_10_000 = +0b1.000*2^1   = 2.0
\n", "
\n", "
0x30 = 1_10_000 = -0b1.000*2^1   = -2.0
\n", "
\n", "
0x11 = 0_10_001 = +0b1.001*2^1   = 2.25
\n", "
\n", "
0x31 = 1_10_001 = -0b1.001*2^1   = -2.25
\n", "
\n", "
0x12 = 0_10_010 = +0b1.010*2^1   = 2.5
\n", "
\n", "
0x32 = 1_10_010 = -0b1.010*2^1   = -2.5
\n", "
\n", "
0x13 = 0_10_011 = +0b1.011*2^1   = 2.75
\n", "
\n", "
0x33 = 1_10_011 = -0b1.011*2^1   = -2.75
\n", "
\n", "
0x14 = 0_10_100 = +0b1.100*2^1   = 3.0
\n", "
\n", "
0x34 = 1_10_100 = -0b1.100*2^1   = -3.0
\n", "
\n", "
0x15 = 0_10_101 = +0b1.101*2^1   = 3.25
\n", "
\n", "
0x35 = 1_10_101 = -0b1.101*2^1   = -3.25
\n", "
\n", "
0x16 = 0_10_110 = +0b1.110*2^1   = 3.5
\n", "
\n", "
0x36 = 1_10_110 = -0b1.110*2^1   = -3.5
\n", "
\n", "
0x17 = 0_10_111 = +0b1.111*2^1   = 3.75
\n", "
\n", "
0x37 = 1_10_111 = -0b1.111*2^1   = -3.75
\n", "
\n", "
0x18 = 0_11_000 = +0b1.000*2^2   = 4.0
\n", "
\n", "
0x38 = 1_11_000 = -0b1.000*2^2   = -4.0
\n", "
\n", "
0x19 = 0_11_001 = +0b1.001*2^2   = 4.5
\n", "
\n", "
0x39 = 1_11_001 = -0b1.001*2^2   = -4.5
\n", "
\n", "
0x1a = 0_11_010 = +0b1.010*2^2   = 5.0
\n", "
\n", "
0x3a = 1_11_010 = -0b1.010*2^2   = -5.0
\n", "
\n", "
0x1b = 0_11_011 = +0b1.011*2^2   = 5.5
\n", "
\n", "
0x3b = 1_11_011 = -0b1.011*2^2   = -5.5
\n", "
\n", "
0x1c = 0_11_100 = +0b1.100*2^2   = 6.0
\n", "
\n", "
0x3c = 1_11_100 = -0b1.100*2^2   = -6.0
\n", "
\n", "
0x1d = 0_11_101 = +0b1.101*2^2   = 6.5
\n", "
\n", "
0x3d = 1_11_101 = -0b1.101*2^2   = -6.5
\n", "
\n", "
0x1e = 0_11_110 = +0b1.110*2^2   = 7.0
\n", "
\n", "
0x3e = 1_11_110 = -0b1.110*2^2   = -7.0
\n", "
\n", "
0x1f = 0_11_111 = +0b1.111*2^2   = 7.5
\n", "
\n", "
0x3f = 1_11_111 = -0b1.111*2^2   = -7.5
\n", "
\n", " \n", "" ], "text/plain": [ "" ] }, "execution_count": 15, "metadata": {}, "output_type": "execute_result" } ], "source": [ "HTML(airdoc(*mktbl(Airium(), format_info_ocp_e2m3, cols=2, width=8, d=3)))" ] }, { "cell_type": "markdown", "id": "bb3b8d70", "metadata": {}, "source": [ "### OCP Formats: E5M2, E4M3" ] }, { "cell_type": "code", "execution_count": 16, "id": "f1513d42", "metadata": {}, "outputs": [ { "data": { "text/html": [ "\n", "\n", "\n", " \n", " \n", " FP8 Value Table, ocp_e5m2\n", " \n", " \n", "

FP8 Value Table, ocp_e5m2

\n", "
\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
\n", "
0x00 = 0_00000_00 = 0.0 = 0.0
\n", "
\n", "
0x40 = 0_10000_00 = +0b1.00*2^1   = 2.0
\n", "
\n", "
0x80 = 1_00000_00 = -0.0 = -0.0
\n", "
\n", "
0xc0 = 1_10000_00 = -0b1.00*2^1   = -2.0
\n", "
\n", "
0x01 = 0_00000_01 = +0b0.01*2^-14 = ~1.53e-05
\n", "
\n", "
0x41 = 0_10000_01 = +0b1.01*2^1   = 2.5
\n", "
\n", "
0x81 = 1_00000_01 = -0b0.01*2^-14 = ~-1.53e-05
\n", "
\n", "
0xc1 = 1_10000_01 = -0b1.01*2^1   = -2.5
\n", "
\n", "
0x02 = 0_00000_10 = +0b0.10*2^-14 = ~3.05e-05
\n", "
\n", "
0x42 = 0_10000_10 = +0b1.10*2^1   = 3.0
\n", "
\n", "
0x82 = 1_00000_10 = -0b0.10*2^-14 = ~-3.05e-05
\n", "
\n", "
0xc2 = 1_10000_10 = -0b1.10*2^1   = -3.0
\n", "
\n", "
0x03 = 0_00000_11 = +0b0.11*2^-14 = ~4.58e-05
\n", "
\n", "
0x43 = 0_10000_11 = +0b1.11*2^1   = 3.5
\n", "
\n", "
0x83 = 1_00000_11 = -0b0.11*2^-14 = ~-4.58e-05
\n", "
\n", "
0xc3 = 1_10000_11 = -0b1.11*2^1   = -3.5
\n", "
\n", "
0x04 = 0_00001_00 = +0b1.00*2^-14 = ~6.1e-05
\n", "
\n", "
0x44 = 0_10001_00 = +0b1.00*2^2   = 4.0
\n", "
\n", "
0x84 = 1_00001_00 = -0b1.00*2^-14 = ~-6.1e-05
\n", "
\n", "
0xc4 = 1_10001_00 = -0b1.00*2^2   = -4.0
\n", "
\n", "
0x05 = 0_00001_01 = +0b1.01*2^-14 = ~7.63e-05
\n", "
\n", "
0x45 = 0_10001_01 = +0b1.01*2^2   = 5.0
\n", "
\n", "
0x85 = 1_00001_01 = -0b1.01*2^-14 = ~-7.63e-05
\n", "
\n", "
0xc5 = 1_10001_01 = -0b1.01*2^2   = -5.0
\n", "
\n", "
0x06 = 0_00001_10 = +0b1.10*2^-14 = ~9.16e-05
\n", "
\n", "
0x46 = 0_10001_10 = +0b1.10*2^2   = 6.0
\n", "
\n", "
0x86 = 1_00001_10 = -0b1.10*2^-14 = ~-9.16e-05
\n", "
\n", "
0xc6 = 1_10001_10 = -0b1.10*2^2   = -6.0
\n", "
\n", "
0x07 = 0_00001_11 = +0b1.11*2^-14 = ~0.000
\n", "
\n", "
0x47 = 0_10001_11 = +0b1.11*2^2   = 7.0
\n", "
\n", "
0x87 = 1_00001_11 = -0b1.11*2^-14 = ~-0.000
\n", "
\n", "
0xc7 = 1_10001_11 = -0b1.11*2^2   = -7.0
\n", "
\n", "
0x08 = 0_00010_00 = +0b1.00*2^-13 = ~0.000
\n", "
\n", "
0x48 = 0_10010_00 = +0b1.00*2^3   = 8.0
\n", "
\n", "
0x88 = 1_00010_00 = -0b1.00*2^-13 = ~-0.000
\n", "
\n", "
0xc8 = 1_10010_00 = -0b1.00*2^3   = -8.0
\n", "
\n", "
0x09 = 0_00010_01 = +0b1.01*2^-13 = ~0.000
\n", "
\n", "
0x49 = 0_10010_01 = +0b1.01*2^3   = 10.0
\n", "
\n", "
0x89 = 1_00010_01 = -0b1.01*2^-13 = ~-0.000
\n", "
\n", "
0xc9 = 1_10010_01 = -0b1.01*2^3   = -10.0
\n", "
\n", "
0x0a = 0_00010_10 = +0b1.10*2^-13 = ~0.000
\n", "
\n", "
0x4a = 0_10010_10 = +0b1.10*2^3   = 12.0
\n", "
\n", "
0x8a = 1_00010_10 = -0b1.10*2^-13 = ~-0.000
\n", "
\n", "
0xca = 1_10010_10 = -0b1.10*2^3   = -12.0
\n", "
\n", "
0x0b = 0_00010_11 = +0b1.11*2^-13 = ~0.000
\n", "
\n", "
0x4b = 0_10010_11 = +0b1.11*2^3   = 14.0
\n", "
\n", "
0x8b = 1_00010_11 = -0b1.11*2^-13 = ~-0.000
\n", "
\n", "
0xcb = 1_10010_11 = -0b1.11*2^3   = -14.0
\n", "
\n", "
0x0c = 0_00011_00 = +0b1.00*2^-12 = ~0.000
\n", "
\n", "
0x4c = 0_10011_00 = +0b1.00*2^4   = 16.0
\n", "
\n", "
0x8c = 1_00011_00 = -0b1.00*2^-12 = ~-0.000
\n", "
\n", "
0xcc = 1_10011_00 = -0b1.00*2^4   = -16.0
\n", "
\n", "
0x0d = 0_00011_01 = +0b1.01*2^-12 = ~0.000
\n", "
\n", "
0x4d = 0_10011_01 = +0b1.01*2^4   = 20.0
\n", "
\n", "
0x8d = 1_00011_01 = -0b1.01*2^-12 = ~-0.000
\n", "
\n", "
0xcd = 1_10011_01 = -0b1.01*2^4   = -20.0
\n", "
\n", "
0x0e = 0_00011_10 = +0b1.10*2^-12 = ~0.000
\n", "
\n", "
0x4e = 0_10011_10 = +0b1.10*2^4   = 24.0
\n", "
\n", "
0x8e = 1_00011_10 = -0b1.10*2^-12 = ~-0.000
\n", "
\n", "
0xce = 1_10011_10 = -0b1.10*2^4   = -24.0
\n", "
\n", "
0x0f = 0_00011_11 = +0b1.11*2^-12 = ~0.000
\n", "
\n", "
0x4f = 0_10011_11 = +0b1.11*2^4   = 28.0
\n", "
\n", "
0x8f = 1_00011_11 = -0b1.11*2^-12 = ~-0.000
\n", "
\n", "
0xcf = 1_10011_11 = -0b1.11*2^4   = -28.0
\n", "
............
\n", "
0x30 = 0_01100_00 = +0b1.00*2^-3  = 0.125
\n", "
\n", "
0x70 = 0_11100_00 = +0b1.00*2^13  = 8192.0
\n", "
\n", "
0xb0 = 1_01100_00 = -0b1.00*2^-3  = -0.125
\n", "
\n", "
0xf0 = 1_11100_00 = -0b1.00*2^13  = -8192.0
\n", "
\n", "
0x31 = 0_01100_01 = +0b1.01*2^-3  = 0.15625
\n", "
\n", "
0x71 = 0_11100_01 = +0b1.01*2^13  = 10240.0
\n", "
\n", "
0xb1 = 1_01100_01 = -0b1.01*2^-3  = -0.15625
\n", "
\n", "
0xf1 = 1_11100_01 = -0b1.01*2^13  = -10240.0
\n", "
\n", "
0x32 = 0_01100_10 = +0b1.10*2^-3  = 0.1875
\n", "
\n", "
0x72 = 0_11100_10 = +0b1.10*2^13  = 12288.0
\n", "
\n", "
0xb2 = 1_01100_10 = -0b1.10*2^-3  = -0.1875
\n", "
\n", "
0xf2 = 1_11100_10 = -0b1.10*2^13  = -12288.0
\n", "
\n", "
0x33 = 0_01100_11 = +0b1.11*2^-3  = 0.21875
\n", "
\n", "
0x73 = 0_11100_11 = +0b1.11*2^13  = 14336.0
\n", "
\n", "
0xb3 = 1_01100_11 = -0b1.11*2^-3  = -0.21875
\n", "
\n", "
0xf3 = 1_11100_11 = -0b1.11*2^13  = -14336.0
\n", "
\n", "
0x34 = 0_01101_00 = +0b1.00*2^-2  = 0.25
\n", "
\n", "
0x74 = 0_11101_00 = +0b1.00*2^14  = 16384.0
\n", "
\n", "
0xb4 = 1_01101_00 = -0b1.00*2^-2  = -0.25
\n", "
\n", "
0xf4 = 1_11101_00 = -0b1.00*2^14  = -16384.0
\n", "
\n", "
0x35 = 0_01101_01 = +0b1.01*2^-2  = 0.3125
\n", "
\n", "
0x75 = 0_11101_01 = +0b1.01*2^14  = 20480.0
\n", "
\n", "
0xb5 = 1_01101_01 = -0b1.01*2^-2  = -0.3125
\n", "
\n", "
0xf5 = 1_11101_01 = -0b1.01*2^14  = -20480.0
\n", "
\n", "
0x36 = 0_01101_10 = +0b1.10*2^-2  = 0.375
\n", "
\n", "
0x76 = 0_11101_10 = +0b1.10*2^14  = 24576.0
\n", "
\n", "
0xb6 = 1_01101_10 = -0b1.10*2^-2  = -0.375
\n", "
\n", "
0xf6 = 1_11101_10 = -0b1.10*2^14  = -24576.0
\n", "
\n", "
0x37 = 0_01101_11 = +0b1.11*2^-2  = 0.4375
\n", "
\n", "
0x77 = 0_11101_11 = +0b1.11*2^14  = 28672.0
\n", "
\n", "
0xb7 = 1_01101_11 = -0b1.11*2^-2  = -0.4375
\n", "
\n", "
0xf7 = 1_11101_11 = -0b1.11*2^14  = -28672.0
\n", "
\n", "
0x38 = 0_01110_00 = +0b1.00*2^-1  = 0.5
\n", "
\n", "
0x78 = 0_11110_00 = +0b1.00*2^15  = 32768.0
\n", "
\n", "
0xb8 = 1_01110_00 = -0b1.00*2^-1  = -0.5
\n", "
\n", "
0xf8 = 1_11110_00 = -0b1.00*2^15  = -32768.0
\n", "
\n", "
0x39 = 0_01110_01 = +0b1.01*2^-1  = 0.625
\n", "
\n", "
0x79 = 0_11110_01 = +0b1.01*2^15  = 40960.0
\n", "
\n", "
0xb9 = 1_01110_01 = -0b1.01*2^-1  = -0.625
\n", "
\n", "
0xf9 = 1_11110_01 = -0b1.01*2^15  = -40960.0
\n", "
\n", "
0x3a = 0_01110_10 = +0b1.10*2^-1  = 0.75
\n", "
\n", "
0x7a = 0_11110_10 = +0b1.10*2^15  = 49152.0
\n", "
\n", "
0xba = 1_01110_10 = -0b1.10*2^-1  = -0.75
\n", "
\n", "
0xfa = 1_11110_10 = -0b1.10*2^15  = -49152.0
\n", "
\n", "
0x3b = 0_01110_11 = +0b1.11*2^-1  = 0.875
\n", "
\n", "
0x7b = 0_11110_11 = +0b1.11*2^15  = 57344.0
\n", "
\n", "
0xbb = 1_01110_11 = -0b1.11*2^-1  = -0.875
\n", "
\n", "
0xfb = 1_11110_11 = -0b1.11*2^15  = -57344.0
\n", "
\n", "
0x3c = 0_01111_00 = +0b1.00*2^0   = 1.0
\n", "
\n", "
0x7c = 0_11111_00 = inf = inf
\n", "
\n", "
0xbc = 1_01111_00 = -0b1.00*2^0   = -1.0
\n", "
\n", "
0xfc = 1_11111_00 = -inf = -inf
\n", "
\n", "
0x3d = 0_01111_01 = +0b1.01*2^0   = 1.25
\n", "
\n", "
0x7d = 0_11111_01 = nan = nan
\n", "
\n", "
0xbd = 1_01111_01 = -0b1.01*2^0   = -1.25
\n", "
\n", "
0xfd = 1_11111_01 = nan = nan
\n", "
\n", "
0x3e = 0_01111_10 = +0b1.10*2^0   = 1.5
\n", "
\n", "
0x7e = 0_11111_10 = nan = nan
\n", "
\n", "
0xbe = 1_01111_10 = -0b1.10*2^0   = -1.5
\n", "
\n", "
0xfe = 1_11111_10 = nan = nan
\n", "
\n", "
0x3f = 0_01111_11 = +0b1.11*2^0   = 1.75
\n", "
\n", "
0x7f = 0_11111_11 = nan = nan
\n", "
\n", "
0xbf = 1_01111_11 = -0b1.11*2^0   = -1.75
\n", "
\n", "
0xff = 1_11111_11 = nan = nan
\n", "
\n", " \n", "" ], "text/plain": [ "" ] }, "execution_count": 16, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# HTML(mktbl(format_info_ocp_e5m2, cols=4, skip_rows=(0x10, 0x30), vs_width=8, vs_d=5))\n", "HTML(\n", " airdoc(\n", " *mktbl(\n", " Airium(),\n", " format_info_ocp_e5m2,\n", " skip_rows=range(0x10, 0x30),\n", " cols=4,\n", " width=8,\n", " d=3,\n", " )\n", " )\n", ")" ] }, { "cell_type": "code", "execution_count": 17, "id": "cb7d45dd", "metadata": {}, "outputs": [ { "data": { "text/html": [ "\n", "\n", "\n", " \n", " \n", " FP8 Value Table, ocp_e4m3\n", " \n", " \n", "

FP8 Value Table, ocp_e4m3

\n", "
\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
\n", "
0x00 = 0_0000_000 = 0.0 = 0.0
\n", "
\n", "
0x40 = 0_1000_000 = +0b1.000*2^1   = 2.0
\n", "
\n", "
0x80 = 1_0000_000 = -0.0 = -0.0
\n", "
\n", "
0xc0 = 1_1000_000 = -0b1.000*2^1   = -2.0
\n", "
\n", "
0x01 = 0_0000_001 = +0b0.001*2^-6  = ~0.002
\n", "
\n", "
0x41 = 0_1000_001 = +0b1.001*2^1   = 2.25
\n", "
\n", "
0x81 = 1_0000_001 = -0b0.001*2^-6  = ~-0.002
\n", "
\n", "
0xc1 = 1_1000_001 = -0b1.001*2^1   = -2.25
\n", "
\n", "
0x02 = 0_0000_010 = +0b0.010*2^-6  = ~0.004
\n", "
\n", "
0x42 = 0_1000_010 = +0b1.010*2^1   = 2.5
\n", "
\n", "
0x82 = 1_0000_010 = -0b0.010*2^-6  = ~-0.004
\n", "
\n", "
0xc2 = 1_1000_010 = -0b1.010*2^1   = -2.5
\n", "
\n", "
0x03 = 0_0000_011 = +0b0.011*2^-6  = ~0.006
\n", "
\n", "
0x43 = 0_1000_011 = +0b1.011*2^1   = 2.75
\n", "
\n", "
0x83 = 1_0000_011 = -0b0.011*2^-6  = ~-0.006
\n", "
\n", "
0xc3 = 1_1000_011 = -0b1.011*2^1   = -2.75
\n", "
\n", "
0x04 = 0_0000_100 = +0b0.100*2^-6  = ~0.008
\n", "
\n", "
0x44 = 0_1000_100 = +0b1.100*2^1   = 3.0
\n", "
\n", "
0x84 = 1_0000_100 = -0b0.100*2^-6  = ~-0.008
\n", "
\n", "
0xc4 = 1_1000_100 = -0b1.100*2^1   = -3.0
\n", "
\n", "
0x05 = 0_0000_101 = +0b0.101*2^-6  = ~0.010
\n", "
\n", "
0x45 = 0_1000_101 = +0b1.101*2^1   = 3.25
\n", "
\n", "
0x85 = 1_0000_101 = -0b0.101*2^-6  = ~-0.010
\n", "
\n", "
0xc5 = 1_1000_101 = -0b1.101*2^1   = -3.25
\n", "
\n", "
0x06 = 0_0000_110 = +0b0.110*2^-6  = ~0.012
\n", "
\n", "
0x46 = 0_1000_110 = +0b1.110*2^1   = 3.5
\n", "
\n", "
0x86 = 1_0000_110 = -0b0.110*2^-6  = ~-0.012
\n", "
\n", "
0xc6 = 1_1000_110 = -0b1.110*2^1   = -3.5
\n", "
\n", "
0x07 = 0_0000_111 = +0b0.111*2^-6  = ~0.014
\n", "
\n", "
0x47 = 0_1000_111 = +0b1.111*2^1   = 3.75
\n", "
\n", "
0x87 = 1_0000_111 = -0b0.111*2^-6  = ~-0.014
\n", "
\n", "
0xc7 = 1_1000_111 = -0b1.111*2^1   = -3.75
\n", "
\n", "
0x08 = 0_0001_000 = +0b1.000*2^-6  = 0.015625
\n", "
\n", "
0x48 = 0_1001_000 = +0b1.000*2^2   = 4.0
\n", "
\n", "
0x88 = 1_0001_000 = -0b1.000*2^-6  = ~-0.016
\n", "
\n", "
0xc8 = 1_1001_000 = -0b1.000*2^2   = -4.0
\n", "
\n", "
0x09 = 0_0001_001 = +0b1.001*2^-6  = ~0.018
\n", "
\n", "
0x49 = 0_1001_001 = +0b1.001*2^2   = 4.5
\n", "
\n", "
0x89 = 1_0001_001 = -0b1.001*2^-6  = ~-0.018
\n", "
\n", "
0xc9 = 1_1001_001 = -0b1.001*2^2   = -4.5
\n", "
\n", "
0x0a = 0_0001_010 = +0b1.010*2^-6  = ~0.020
\n", "
\n", "
0x4a = 0_1001_010 = +0b1.010*2^2   = 5.0
\n", "
\n", "
0x8a = 1_0001_010 = -0b1.010*2^-6  = ~-0.020
\n", "
\n", "
0xca = 1_1001_010 = -0b1.010*2^2   = -5.0
\n", "
\n", "
0x0b = 0_0001_011 = +0b1.011*2^-6  = ~0.021
\n", "
\n", "
0x4b = 0_1001_011 = +0b1.011*2^2   = 5.5
\n", "
\n", "
0x8b = 1_0001_011 = -0b1.011*2^-6  = ~-0.021
\n", "
\n", "
0xcb = 1_1001_011 = -0b1.011*2^2   = -5.5
\n", "
\n", "
0x0c = 0_0001_100 = +0b1.100*2^-6  = ~0.023
\n", "
\n", "
0x4c = 0_1001_100 = +0b1.100*2^2   = 6.0
\n", "
\n", "
0x8c = 1_0001_100 = -0b1.100*2^-6  = ~-0.023
\n", "
\n", "
0xcc = 1_1001_100 = -0b1.100*2^2   = -6.0
\n", "
\n", "
0x0d = 0_0001_101 = +0b1.101*2^-6  = ~0.025
\n", "
\n", "
0x4d = 0_1001_101 = +0b1.101*2^2   = 6.5
\n", "
\n", "
0x8d = 1_0001_101 = -0b1.101*2^-6  = ~-0.025
\n", "
\n", "
0xcd = 1_1001_101 = -0b1.101*2^2   = -6.5
\n", "
\n", "
0x0e = 0_0001_110 = +0b1.110*2^-6  = ~0.027
\n", "
\n", "
0x4e = 0_1001_110 = +0b1.110*2^2   = 7.0
\n", "
\n", "
0x8e = 1_0001_110 = -0b1.110*2^-6  = ~-0.027
\n", "
\n", "
0xce = 1_1001_110 = -0b1.110*2^2   = -7.0
\n", "
\n", "
0x0f = 0_0001_111 = +0b1.111*2^-6  = ~0.029
\n", "
\n", "
0x4f = 0_1001_111 = +0b1.111*2^2   = 7.5
\n", "
\n", "
0x8f = 1_0001_111 = -0b1.111*2^-6  = ~-0.029
\n", "
\n", "
0xcf = 1_1001_111 = -0b1.111*2^2   = -7.5
\n", "
............
\n", "
0x30 = 0_0110_000 = +0b1.000*2^-1  = 0.5
\n", "
\n", "
0x70 = 0_1110_000 = +0b1.000*2^7   = 128.0
\n", "
\n", "
0xb0 = 1_0110_000 = -0b1.000*2^-1  = -0.5
\n", "
\n", "
0xf0 = 1_1110_000 = -0b1.000*2^7   = -128.0
\n", "
\n", "
0x31 = 0_0110_001 = +0b1.001*2^-1  = 0.5625
\n", "
\n", "
0x71 = 0_1110_001 = +0b1.001*2^7   = 144.0
\n", "
\n", "
0xb1 = 1_0110_001 = -0b1.001*2^-1  = -0.5625
\n", "
\n", "
0xf1 = 1_1110_001 = -0b1.001*2^7   = -144.0
\n", "
\n", "
0x32 = 0_0110_010 = +0b1.010*2^-1  = 0.625
\n", "
\n", "
0x72 = 0_1110_010 = +0b1.010*2^7   = 160.0
\n", "
\n", "
0xb2 = 1_0110_010 = -0b1.010*2^-1  = -0.625
\n", "
\n", "
0xf2 = 1_1110_010 = -0b1.010*2^7   = -160.0
\n", "
\n", "
0x33 = 0_0110_011 = +0b1.011*2^-1  = 0.6875
\n", "
\n", "
0x73 = 0_1110_011 = +0b1.011*2^7   = 176.0
\n", "
\n", "
0xb3 = 1_0110_011 = -0b1.011*2^-1  = -0.6875
\n", "
\n", "
0xf3 = 1_1110_011 = -0b1.011*2^7   = -176.0
\n", "
\n", "
0x34 = 0_0110_100 = +0b1.100*2^-1  = 0.75
\n", "
\n", "
0x74 = 0_1110_100 = +0b1.100*2^7   = 192.0
\n", "
\n", "
0xb4 = 1_0110_100 = -0b1.100*2^-1  = -0.75
\n", "
\n", "
0xf4 = 1_1110_100 = -0b1.100*2^7   = -192.0
\n", "
\n", "
0x35 = 0_0110_101 = +0b1.101*2^-1  = 0.8125
\n", "
\n", "
0x75 = 0_1110_101 = +0b1.101*2^7   = 208.0
\n", "
\n", "
0xb5 = 1_0110_101 = -0b1.101*2^-1  = -0.8125
\n", "
\n", "
0xf5 = 1_1110_101 = -0b1.101*2^7   = -208.0
\n", "
\n", "
0x36 = 0_0110_110 = +0b1.110*2^-1  = 0.875
\n", "
\n", "
0x76 = 0_1110_110 = +0b1.110*2^7   = 224.0
\n", "
\n", "
0xb6 = 1_0110_110 = -0b1.110*2^-1  = -0.875
\n", "
\n", "
0xf6 = 1_1110_110 = -0b1.110*2^7   = -224.0
\n", "
\n", "
0x37 = 0_0110_111 = +0b1.111*2^-1  = 0.9375
\n", "
\n", "
0x77 = 0_1110_111 = +0b1.111*2^7   = 240.0
\n", "
\n", "
0xb7 = 1_0110_111 = -0b1.111*2^-1  = -0.9375
\n", "
\n", "
0xf7 = 1_1110_111 = -0b1.111*2^7   = -240.0
\n", "
\n", "
0x38 = 0_0111_000 = +0b1.000*2^0   = 1.0
\n", "
\n", "
0x78 = 0_1111_000 = +0b1.000*2^8   = 256.0
\n", "
\n", "
0xb8 = 1_0111_000 = -0b1.000*2^0   = -1.0
\n", "
\n", "
0xf8 = 1_1111_000 = -0b1.000*2^8   = -256.0
\n", "
\n", "
0x39 = 0_0111_001 = +0b1.001*2^0   = 1.125
\n", "
\n", "
0x79 = 0_1111_001 = +0b1.001*2^8   = 288.0
\n", "
\n", "
0xb9 = 1_0111_001 = -0b1.001*2^0   = -1.125
\n", "
\n", "
0xf9 = 1_1111_001 = -0b1.001*2^8   = -288.0
\n", "
\n", "
0x3a = 0_0111_010 = +0b1.010*2^0   = 1.25
\n", "
\n", "
0x7a = 0_1111_010 = +0b1.010*2^8   = 320.0
\n", "
\n", "
0xba = 1_0111_010 = -0b1.010*2^0   = -1.25
\n", "
\n", "
0xfa = 1_1111_010 = -0b1.010*2^8   = -320.0
\n", "
\n", "
0x3b = 0_0111_011 = +0b1.011*2^0   = 1.375
\n", "
\n", "
0x7b = 0_1111_011 = +0b1.011*2^8   = 352.0
\n", "
\n", "
0xbb = 1_0111_011 = -0b1.011*2^0   = -1.375
\n", "
\n", "
0xfb = 1_1111_011 = -0b1.011*2^8   = -352.0
\n", "
\n", "
0x3c = 0_0111_100 = +0b1.100*2^0   = 1.5
\n", "
\n", "
0x7c = 0_1111_100 = +0b1.100*2^8   = 384.0
\n", "
\n", "
0xbc = 1_0111_100 = -0b1.100*2^0   = -1.5
\n", "
\n", "
0xfc = 1_1111_100 = -0b1.100*2^8   = -384.0
\n", "
\n", "
0x3d = 0_0111_101 = +0b1.101*2^0   = 1.625
\n", "
\n", "
0x7d = 0_1111_101 = +0b1.101*2^8   = 416.0
\n", "
\n", "
0xbd = 1_0111_101 = -0b1.101*2^0   = -1.625
\n", "
\n", "
0xfd = 1_1111_101 = -0b1.101*2^8   = -416.0
\n", "
\n", "
0x3e = 0_0111_110 = +0b1.110*2^0   = 1.75
\n", "
\n", "
0x7e = 0_1111_110 = +0b1.110*2^8   = 448.0
\n", "
\n", "
0xbe = 1_0111_110 = -0b1.110*2^0   = -1.75
\n", "
\n", "
0xfe = 1_1111_110 = -0b1.110*2^8   = -448.0
\n", "
\n", "
0x3f = 0_0111_111 = +0b1.111*2^0   = 1.875
\n", "
\n", "
0x7f = 0_1111_111 = nan = nan
\n", "
\n", "
0xbf = 1_0111_111 = -0b1.111*2^0   = -1.875
\n", "
\n", "
0xff = 1_1111_111 = nan = nan
\n", "
\n", " \n", "" ], "text/plain": [ "" ] }, "execution_count": 17, "metadata": {}, "output_type": "execute_result" } ], "source": [ "HTML(\n", " airdoc(\n", " *mktbl(\n", " Airium(),\n", " format_info_ocp_e4m3,\n", " skip_rows=range(0x10, 0x30),\n", " cols=4,\n", " width=8,\n", " d=3,\n", " )\n", " )\n", ")" ] }, { "cell_type": "code", "execution_count": 18, "id": "4ee8b7e4", "metadata": {}, "outputs": [ { "data": { "text/html": [ "\n", "\n", "\n", " \n", " \n", " FP8 Value Table, ocp_e8m0\n", " \n", " \n", "

FP8 Value Table, ocp_e8m0

\n", "
\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
\n", "
0x00 = 00000000_ = +0b1.0*2^-127 = ~5.88e-39
\n", "
\n", "
0x40 = 01000000_ = +0b1.0*2^-63 = ~1.08e-19
\n", "
\n", "
0x80 = 10000000_ = +0b1.0*2^1   = 2.0
\n", "
\n", "
0xc0 = 11000000_ = +0b1.0*2^65  = ~3.69e+19
\n", "
\n", "
0x01 = 00000001_ = +0b1.0*2^-126 = ~1.18e-38
\n", "
\n", "
0x41 = 01000001_ = +0b1.0*2^-62 = ~2.17e-19
\n", "
\n", "
0x81 = 10000001_ = +0b1.0*2^2   = 4.0
\n", "
\n", "
0xc1 = 11000001_ = +0b1.0*2^66  = ~7.38e+19
\n", "
\n", "
0x02 = 00000010_ = +0b1.0*2^-125 = ~2.35e-38
\n", "
\n", "
0x42 = 01000010_ = +0b1.0*2^-61 = ~4.34e-19
\n", "
\n", "
0x82 = 10000010_ = +0b1.0*2^3   = 8.0
\n", "
\n", "
0xc2 = 11000010_ = +0b1.0*2^67  = ~1.48e+20
\n", "
\n", "
0x03 = 00000011_ = +0b1.0*2^-124 = ~4.7e-38
\n", "
\n", "
0x43 = 01000011_ = +0b1.0*2^-60 = ~8.67e-19
\n", "
\n", "
0x83 = 10000011_ = +0b1.0*2^4   = 16.0
\n", "
\n", "
0xc3 = 11000011_ = +0b1.0*2^68  = ~2.95e+20
\n", "
\n", "
0x04 = 00000100_ = +0b1.0*2^-123 = ~9.4e-38
\n", "
\n", "
0x44 = 01000100_ = +0b1.0*2^-59 = ~1.73e-18
\n", "
\n", "
0x84 = 10000100_ = +0b1.0*2^5   = 32.0
\n", "
\n", "
0xc4 = 11000100_ = +0b1.0*2^69  = ~5.9e+20
\n", "
\n", "
0x05 = 00000101_ = +0b1.0*2^-122 = ~1.88e-37
\n", "
\n", "
0x45 = 01000101_ = +0b1.0*2^-58 = ~3.47e-18
\n", "
\n", "
0x85 = 10000101_ = +0b1.0*2^6   = 64.0
\n", "
\n", "
0xc5 = 11000101_ = +0b1.0*2^70  = ~1.18e+21
\n", "
\n", "
0x06 = 00000110_ = +0b1.0*2^-121 = ~3.76e-37
\n", "
\n", "
0x46 = 01000110_ = +0b1.0*2^-57 = ~6.94e-18
\n", "
\n", "
0x86 = 10000110_ = +0b1.0*2^7   = 128.0
\n", "
\n", "
0xc6 = 11000110_ = +0b1.0*2^71  = ~2.36e+21
\n", "
\n", "
0x07 = 00000111_ = +0b1.0*2^-120 = ~7.52e-37
\n", "
\n", "
0x47 = 01000111_ = +0b1.0*2^-56 = ~1.39e-17
\n", "
\n", "
0x87 = 10000111_ = +0b1.0*2^8   = 256.0
\n", "
\n", "
0xc7 = 11000111_ = +0b1.0*2^72  = ~4.72e+21
\n", "
\n", "
0x08 = 00001000_ = +0b1.0*2^-119 = ~1.5e-36
\n", "
\n", "
0x48 = 01001000_ = +0b1.0*2^-55 = ~2.78e-17
\n", "
\n", "
0x88 = 10001000_ = +0b1.0*2^9   = 512.0
\n", "
\n", "
0xc8 = 11001000_ = +0b1.0*2^73  = ~9.44e+21
\n", "
\n", "
0x09 = 00001001_ = +0b1.0*2^-118 = ~3.01e-36
\n", "
\n", "
0x49 = 01001001_ = +0b1.0*2^-54 = ~5.55e-17
\n", "
\n", "
0x89 = 10001001_ = +0b1.0*2^10  = 1024.0
\n", "
\n", "
0xc9 = 11001001_ = +0b1.0*2^74  = ~1.89e+22
\n", "
\n", "
0x0a = 00001010_ = +0b1.0*2^-117 = ~6.02e-36
\n", "
\n", "
0x4a = 01001010_ = +0b1.0*2^-53 = ~1.11e-16
\n", "
\n", "
0x8a = 10001010_ = +0b1.0*2^11  = 2048.0
\n", "
\n", "
0xca = 11001010_ = +0b1.0*2^75  = ~3.78e+22
\n", "
\n", "
0x0b = 00001011_ = +0b1.0*2^-116 = ~1.2e-35
\n", "
\n", "
0x4b = 01001011_ = +0b1.0*2^-52 = ~2.22e-16
\n", "
\n", "
0x8b = 10001011_ = +0b1.0*2^12  = 4096.0
\n", "
\n", "
0xcb = 11001011_ = +0b1.0*2^76  = ~7.56e+22
\n", "
\n", "
0x0c = 00001100_ = +0b1.0*2^-115 = ~2.41e-35
\n", "
\n", "
0x4c = 01001100_ = +0b1.0*2^-51 = ~4.44e-16
\n", "
\n", "
0x8c = 10001100_ = +0b1.0*2^13  = 8192.0
\n", "
\n", "
0xcc = 11001100_ = +0b1.0*2^77  = ~1.51e+23
\n", "
\n", "
0x0d = 00001101_ = +0b1.0*2^-114 = ~4.81e-35
\n", "
\n", "
0x4d = 01001101_ = +0b1.0*2^-50 = ~8.88e-16
\n", "
\n", "
0x8d = 10001101_ = +0b1.0*2^14  = 16384.0
\n", "
\n", "
0xcd = 11001101_ = +0b1.0*2^78  = ~3.02e+23
\n", "
\n", "
0x0e = 00001110_ = +0b1.0*2^-113 = ~9.63e-35
\n", "
\n", "
0x4e = 01001110_ = +0b1.0*2^-49 = ~1.78e-15
\n", "
\n", "
0x8e = 10001110_ = +0b1.0*2^15  = 32768.0
\n", "
\n", "
0xce = 11001110_ = +0b1.0*2^79  = ~6.04e+23
\n", "
\n", "
0x0f = 00001111_ = +0b1.0*2^-112 = ~1.93e-34
\n", "
\n", "
0x4f = 01001111_ = +0b1.0*2^-48 = ~3.55e-15
\n", "
\n", "
0x8f = 10001111_ = +0b1.0*2^16  = 65536.0
\n", "
\n", "
0xcf = 11001111_ = +0b1.0*2^80  = ~1.21e+24
\n", "
............
\n", "
0x30 = 00110000_ = +0b1.0*2^-79 = ~1.65e-24
\n", "
\n", "
0x70 = 01110000_ = +0b1.0*2^-15 = ~3.05e-05
\n", "
\n", "
0xb0 = 10110000_ = +0b1.0*2^49  = ~5.63e+14
\n", "
\n", "
0xf0 = 11110000_ = +0b1.0*2^113 = ~1.04e+34
\n", "
\n", "
0x31 = 00110001_ = +0b1.0*2^-78 = ~3.31e-24
\n", "
\n", "
0x71 = 01110001_ = +0b1.0*2^-14 = ~6.1e-05
\n", "
\n", "
0xb1 = 10110001_ = +0b1.0*2^50  = ~1.13e+15
\n", "
\n", "
0xf1 = 11110001_ = +0b1.0*2^114 = ~2.08e+34
\n", "
\n", "
0x32 = 00110010_ = +0b1.0*2^-77 = ~6.62e-24
\n", "
\n", "
0x72 = 01110010_ = +0b1.0*2^-13 = ~0.000
\n", "
\n", "
0xb2 = 10110010_ = +0b1.0*2^51  = ~2.25e+15
\n", "
\n", "
0xf2 = 11110010_ = +0b1.0*2^115 = ~4.15e+34
\n", "
\n", "
0x33 = 00110011_ = +0b1.0*2^-76 = ~1.32e-23
\n", "
\n", "
0x73 = 01110011_ = +0b1.0*2^-12 = ~0.000
\n", "
\n", "
0xb3 = 10110011_ = +0b1.0*2^52  = ~4.5e+15
\n", "
\n", "
0xf3 = 11110011_ = +0b1.0*2^116 = ~8.31e+34
\n", "
\n", "
0x34 = 00110100_ = +0b1.0*2^-75 = ~2.65e-23
\n", "
\n", "
0x74 = 01110100_ = +0b1.0*2^-11 = ~0.000
\n", "
\n", "
0xb4 = 10110100_ = +0b1.0*2^53  = ~9.01e+15
\n", "
\n", "
0xf4 = 11110100_ = +0b1.0*2^117 = ~1.66e+35
\n", "
\n", "
0x35 = 00110101_ = +0b1.0*2^-74 = ~5.29e-23
\n", "
\n", "
0x75 = 01110101_ = +0b1.0*2^-10 = ~0.001
\n", "
\n", "
0xb5 = 10110101_ = +0b1.0*2^54  = ~1.8e+16
\n", "
\n", "
0xf5 = 11110101_ = +0b1.0*2^118 = ~3.32e+35
\n", "
\n", "
0x36 = 00110110_ = +0b1.0*2^-73 = ~1.06e-22
\n", "
\n", "
0x76 = 01110110_ = +0b1.0*2^-9  = ~0.002
\n", "
\n", "
0xb6 = 10110110_ = +0b1.0*2^55  = ~3.6e+16
\n", "
\n", "
0xf6 = 11110110_ = +0b1.0*2^119 = ~6.65e+35
\n", "
\n", "
0x37 = 00110111_ = +0b1.0*2^-72 = ~2.12e-22
\n", "
\n", "
0x77 = 01110111_ = +0b1.0*2^-8  = ~0.004
\n", "
\n", "
0xb7 = 10110111_ = +0b1.0*2^56  = ~7.21e+16
\n", "
\n", "
0xf7 = 11110111_ = +0b1.0*2^120 = ~1.33e+36
\n", "
\n", "
0x38 = 00111000_ = +0b1.0*2^-71 = ~4.24e-22
\n", "
\n", "
0x78 = 01111000_ = +0b1.0*2^-7  = ~0.008
\n", "
\n", "
0xb8 = 10111000_ = +0b1.0*2^57  = ~1.44e+17
\n", "
\n", "
0xf8 = 11111000_ = +0b1.0*2^121 = ~2.66e+36
\n", "
\n", "
0x39 = 00111001_ = +0b1.0*2^-70 = ~8.47e-22
\n", "
\n", "
0x79 = 01111001_ = +0b1.0*2^-6  = 0.015625
\n", "
\n", "
0xb9 = 10111001_ = +0b1.0*2^58  = ~2.88e+17
\n", "
\n", "
0xf9 = 11111001_ = +0b1.0*2^122 = ~5.32e+36
\n", "
\n", "
0x3a = 00111010_ = +0b1.0*2^-69 = ~1.69e-21
\n", "
\n", "
0x7a = 01111010_ = +0b1.0*2^-5  = 0.03125
\n", "
\n", "
0xba = 10111010_ = +0b1.0*2^59  = ~5.76e+17
\n", "
\n", "
0xfa = 11111010_ = +0b1.0*2^123 = ~1.06e+37
\n", "
\n", "
0x3b = 00111011_ = +0b1.0*2^-68 = ~3.39e-21
\n", "
\n", "
0x7b = 01111011_ = +0b1.0*2^-4  = 0.0625
\n", "
\n", "
0xbb = 10111011_ = +0b1.0*2^60  = ~1.15e+18
\n", "
\n", "
0xfb = 11111011_ = +0b1.0*2^124 = ~2.13e+37
\n", "
\n", "
0x3c = 00111100_ = +0b1.0*2^-67 = ~6.78e-21
\n", "
\n", "
0x7c = 01111100_ = +0b1.0*2^-3  = 0.125
\n", "
\n", "
0xbc = 10111100_ = +0b1.0*2^61  = ~2.31e+18
\n", "
\n", "
0xfc = 11111100_ = +0b1.0*2^125 = ~4.25e+37
\n", "
\n", "
0x3d = 00111101_ = +0b1.0*2^-66 = ~1.36e-20
\n", "
\n", "
0x7d = 01111101_ = +0b1.0*2^-2  = 0.25
\n", "
\n", "
0xbd = 10111101_ = +0b1.0*2^62  = ~4.61e+18
\n", "
\n", "
0xfd = 11111101_ = +0b1.0*2^126 = ~8.51e+37
\n", "
\n", "
0x3e = 00111110_ = +0b1.0*2^-65 = ~2.71e-20
\n", "
\n", "
0x7e = 01111110_ = +0b1.0*2^-1  = 0.5
\n", "
\n", "
0xbe = 10111110_ = +0b1.0*2^63  = ~9.22e+18
\n", "
\n", "
0xfe = 11111110_ = +0b1.0*2^127 = ~1.7e+38
\n", "
\n", "
0x3f = 00111111_ = +0b1.0*2^-64 = ~5.42e-20
\n", "
\n", "
0x7f = 01111111_ = +0b1.0*2^0   = 1.0
\n", "
\n", "
0xbf = 10111111_ = +0b1.0*2^64  = ~1.84e+19
\n", "
\n", "
0xff = 11111111_ = nan = nan
\n", "
\n", " \n", "" ], "text/plain": [ "" ] }, "execution_count": 18, "metadata": {}, "output_type": "execute_result" } ], "source": [ "HTML(\n", " airdoc(\n", " *mktbl(\n", " Airium(),\n", " format_info_ocp_e8m0,\n", " skip_rows=range(0x10, 0x30),\n", " cols=4,\n", " width=8,\n", " d=3,\n", " )\n", " )\n", ")" ] }, { "cell_type": "markdown", "id": "1fc87892", "metadata": {}, "source": [ "### IEEE WG P3109 KpP formats\n", "\n", "We choose just one example: `p3109(k=8, p=3)`, which has the same number of exponent bits as OCP E5 " ] }, { "cell_type": "code", "execution_count": 19, "id": "fd4dfd99", "metadata": {}, "outputs": [ { "data": { "text/html": [ "\n", "\n", "\n", " \n", " \n", " FP8 Value Table, p3109_k8p1uf\n", " \n", " \n", "

FP8 Value Table, p3109_k8p1uf

\n", "
\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
\n", "
0x00 = 00000000_ = 0.0 = 0.0
\n", "
\n", "
0x40 = 01000000_ = +0b1.0*2^-64 = ~5.42e-20
\n", "
\n", "
0x80 = 10000000_ = +0b1.0*2^0   = 1.0
\n", "
\n", "
0xc0 = 11000000_ = +0b1.0*2^64  = ~1.84e+19
\n", "
\n", "
0x01 = 00000001_ = +0b1.0*2^-127 = ~5.88e-39
\n", "
\n", "
0x41 = 01000001_ = +0b1.0*2^-63 = ~1.08e-19
\n", "
\n", "
0x81 = 10000001_ = +0b1.0*2^1   = 2.0
\n", "
\n", "
0xc1 = 11000001_ = +0b1.0*2^65  = ~3.69e+19
\n", "
\n", "
0x02 = 00000010_ = +0b1.0*2^-126 = ~1.18e-38
\n", "
\n", "
0x42 = 01000010_ = +0b1.0*2^-62 = ~2.17e-19
\n", "
\n", "
0x82 = 10000010_ = +0b1.0*2^2   = 4.0
\n", "
\n", "
0xc2 = 11000010_ = +0b1.0*2^66  = ~7.38e+19
\n", "
\n", "
0x03 = 00000011_ = +0b1.0*2^-125 = ~2.35e-38
\n", "
\n", "
0x43 = 01000011_ = +0b1.0*2^-61 = ~4.34e-19
\n", "
\n", "
0x83 = 10000011_ = +0b1.0*2^3   = 8.0
\n", "
\n", "
0xc3 = 11000011_ = +0b1.0*2^67  = ~1.48e+20
\n", "
\n", "
0x04 = 00000100_ = +0b1.0*2^-124 = ~4.7e-38
\n", "
\n", "
0x44 = 01000100_ = +0b1.0*2^-60 = ~8.67e-19
\n", "
\n", "
0x84 = 10000100_ = +0b1.0*2^4   = 16.0
\n", "
\n", "
0xc4 = 11000100_ = +0b1.0*2^68  = ~2.95e+20
\n", "
\n", "
0x05 = 00000101_ = +0b1.0*2^-123 = ~9.4e-38
\n", "
\n", "
0x45 = 01000101_ = +0b1.0*2^-59 = ~1.73e-18
\n", "
\n", "
0x85 = 10000101_ = +0b1.0*2^5   = 32.0
\n", "
\n", "
0xc5 = 11000101_ = +0b1.0*2^69  = ~5.9e+20
\n", "
\n", "
0x06 = 00000110_ = +0b1.0*2^-122 = ~1.88e-37
\n", "
\n", "
0x46 = 01000110_ = +0b1.0*2^-58 = ~3.47e-18
\n", "
\n", "
0x86 = 10000110_ = +0b1.0*2^6   = 64.0
\n", "
\n", "
0xc6 = 11000110_ = +0b1.0*2^70  = ~1.18e+21
\n", "
\n", "
0x07 = 00000111_ = +0b1.0*2^-121 = ~3.76e-37
\n", "
\n", "
0x47 = 01000111_ = +0b1.0*2^-57 = ~6.94e-18
\n", "
\n", "
0x87 = 10000111_ = +0b1.0*2^7   = 128.0
\n", "
\n", "
0xc7 = 11000111_ = +0b1.0*2^71  = ~2.36e+21
\n", "
\n", "
0x08 = 00001000_ = +0b1.0*2^-120 = ~7.52e-37
\n", "
\n", "
0x48 = 01001000_ = +0b1.0*2^-56 = ~1.39e-17
\n", "
\n", "
0x88 = 10001000_ = +0b1.0*2^8   = 256.0
\n", "
\n", "
0xc8 = 11001000_ = +0b1.0*2^72  = ~4.72e+21
\n", "
\n", "
0x09 = 00001001_ = +0b1.0*2^-119 = ~1.5e-36
\n", "
\n", "
0x49 = 01001001_ = +0b1.0*2^-55 = ~2.78e-17
\n", "
\n", "
0x89 = 10001001_ = +0b1.0*2^9   = 512.0
\n", "
\n", "
0xc9 = 11001001_ = +0b1.0*2^73  = ~9.44e+21
\n", "
\n", "
0x0a = 00001010_ = +0b1.0*2^-118 = ~3.01e-36
\n", "
\n", "
0x4a = 01001010_ = +0b1.0*2^-54 = ~5.55e-17
\n", "
\n", "
0x8a = 10001010_ = +0b1.0*2^10  = 1024.0
\n", "
\n", "
0xca = 11001010_ = +0b1.0*2^74  = ~1.89e+22
\n", "
\n", "
0x0b = 00001011_ = +0b1.0*2^-117 = ~6.02e-36
\n", "
\n", "
0x4b = 01001011_ = +0b1.0*2^-53 = ~1.11e-16
\n", "
\n", "
0x8b = 10001011_ = +0b1.0*2^11  = 2048.0
\n", "
\n", "
0xcb = 11001011_ = +0b1.0*2^75  = ~3.78e+22
\n", "
\n", "
0x0c = 00001100_ = +0b1.0*2^-116 = ~1.2e-35
\n", "
\n", "
0x4c = 01001100_ = +0b1.0*2^-52 = ~2.22e-16
\n", "
\n", "
0x8c = 10001100_ = +0b1.0*2^12  = 4096.0
\n", "
\n", "
0xcc = 11001100_ = +0b1.0*2^76  = ~7.56e+22
\n", "
\n", "
0x0d = 00001101_ = +0b1.0*2^-115 = ~2.41e-35
\n", "
\n", "
0x4d = 01001101_ = +0b1.0*2^-51 = ~4.44e-16
\n", "
\n", "
0x8d = 10001101_ = +0b1.0*2^13  = 8192.0
\n", "
\n", "
0xcd = 11001101_ = +0b1.0*2^77  = ~1.51e+23
\n", "
\n", "
0x0e = 00001110_ = +0b1.0*2^-114 = ~4.81e-35
\n", "
\n", "
0x4e = 01001110_ = +0b1.0*2^-50 = ~8.88e-16
\n", "
\n", "
0x8e = 10001110_ = +0b1.0*2^14  = 16384.0
\n", "
\n", "
0xce = 11001110_ = +0b1.0*2^78  = ~3.02e+23
\n", "
\n", "
0x0f = 00001111_ = +0b1.0*2^-113 = ~9.63e-35
\n", "
\n", "
0x4f = 01001111_ = +0b1.0*2^-49 = ~1.78e-15
\n", "
\n", "
0x8f = 10001111_ = +0b1.0*2^15  = 32768.0
\n", "
\n", "
0xcf = 11001111_ = +0b1.0*2^79  = ~6.04e+23
\n", "
............
\n", "
0x30 = 00110000_ = +0b1.0*2^-80 = ~8.27e-25
\n", "
\n", "
0x70 = 01110000_ = +0b1.0*2^-16 = ~1.53e-05
\n", "
\n", "
0xb0 = 10110000_ = +0b1.0*2^48  = ~2.81e+14
\n", "
\n", "
0xf0 = 11110000_ = +0b1.0*2^112 = ~5.19e+33
\n", "
\n", "
0x31 = 00110001_ = +0b1.0*2^-79 = ~1.65e-24
\n", "
\n", "
0x71 = 01110001_ = +0b1.0*2^-15 = ~3.05e-05
\n", "
\n", "
0xb1 = 10110001_ = +0b1.0*2^49  = ~5.63e+14
\n", "
\n", "
0xf1 = 11110001_ = +0b1.0*2^113 = ~1.04e+34
\n", "
\n", "
0x32 = 00110010_ = +0b1.0*2^-78 = ~3.31e-24
\n", "
\n", "
0x72 = 01110010_ = +0b1.0*2^-14 = ~6.1e-05
\n", "
\n", "
0xb2 = 10110010_ = +0b1.0*2^50  = ~1.13e+15
\n", "
\n", "
0xf2 = 11110010_ = +0b1.0*2^114 = ~2.08e+34
\n", "
\n", "
0x33 = 00110011_ = +0b1.0*2^-77 = ~6.62e-24
\n", "
\n", "
0x73 = 01110011_ = +0b1.0*2^-13 = ~0.000
\n", "
\n", "
0xb3 = 10110011_ = +0b1.0*2^51  = ~2.25e+15
\n", "
\n", "
0xf3 = 11110011_ = +0b1.0*2^115 = ~4.15e+34
\n", "
\n", "
0x34 = 00110100_ = +0b1.0*2^-76 = ~1.32e-23
\n", "
\n", "
0x74 = 01110100_ = +0b1.0*2^-12 = ~0.000
\n", "
\n", "
0xb4 = 10110100_ = +0b1.0*2^52  = ~4.5e+15
\n", "
\n", "
0xf4 = 11110100_ = +0b1.0*2^116 = ~8.31e+34
\n", "
\n", "
0x35 = 00110101_ = +0b1.0*2^-75 = ~2.65e-23
\n", "
\n", "
0x75 = 01110101_ = +0b1.0*2^-11 = ~0.000
\n", "
\n", "
0xb5 = 10110101_ = +0b1.0*2^53  = ~9.01e+15
\n", "
\n", "
0xf5 = 11110101_ = +0b1.0*2^117 = ~1.66e+35
\n", "
\n", "
0x36 = 00110110_ = +0b1.0*2^-74 = ~5.29e-23
\n", "
\n", "
0x76 = 01110110_ = +0b1.0*2^-10 = ~0.001
\n", "
\n", "
0xb6 = 10110110_ = +0b1.0*2^54  = ~1.8e+16
\n", "
\n", "
0xf6 = 11110110_ = +0b1.0*2^118 = ~3.32e+35
\n", "
\n", "
0x37 = 00110111_ = +0b1.0*2^-73 = ~1.06e-22
\n", "
\n", "
0x77 = 01110111_ = +0b1.0*2^-9  = ~0.002
\n", "
\n", "
0xb7 = 10110111_ = +0b1.0*2^55  = ~3.6e+16
\n", "
\n", "
0xf7 = 11110111_ = +0b1.0*2^119 = ~6.65e+35
\n", "
\n", "
0x38 = 00111000_ = +0b1.0*2^-72 = ~2.12e-22
\n", "
\n", "
0x78 = 01111000_ = +0b1.0*2^-8  = ~0.004
\n", "
\n", "
0xb8 = 10111000_ = +0b1.0*2^56  = ~7.21e+16
\n", "
\n", "
0xf8 = 11111000_ = +0b1.0*2^120 = ~1.33e+36
\n", "
\n", "
0x39 = 00111001_ = +0b1.0*2^-71 = ~4.24e-22
\n", "
\n", "
0x79 = 01111001_ = +0b1.0*2^-7  = ~0.008
\n", "
\n", "
0xb9 = 10111001_ = +0b1.0*2^57  = ~1.44e+17
\n", "
\n", "
0xf9 = 11111001_ = +0b1.0*2^121 = ~2.66e+36
\n", "
\n", "
0x3a = 00111010_ = +0b1.0*2^-70 = ~8.47e-22
\n", "
\n", "
0x7a = 01111010_ = +0b1.0*2^-6  = 0.015625
\n", "
\n", "
0xba = 10111010_ = +0b1.0*2^58  = ~2.88e+17
\n", "
\n", "
0xfa = 11111010_ = +0b1.0*2^122 = ~5.32e+36
\n", "
\n", "
0x3b = 00111011_ = +0b1.0*2^-69 = ~1.69e-21
\n", "
\n", "
0x7b = 01111011_ = +0b1.0*2^-5  = 0.03125
\n", "
\n", "
0xbb = 10111011_ = +0b1.0*2^59  = ~5.76e+17
\n", "
\n", "
0xfb = 11111011_ = +0b1.0*2^123 = ~1.06e+37
\n", "
\n", "
0x3c = 00111100_ = +0b1.0*2^-68 = ~3.39e-21
\n", "
\n", "
0x7c = 01111100_ = +0b1.0*2^-4  = 0.0625
\n", "
\n", "
0xbc = 10111100_ = +0b1.0*2^60  = ~1.15e+18
\n", "
\n", "
0xfc = 11111100_ = +0b1.0*2^124 = ~2.13e+37
\n", "
\n", "
0x3d = 00111101_ = +0b1.0*2^-67 = ~6.78e-21
\n", "
\n", "
0x7d = 01111101_ = +0b1.0*2^-3  = 0.125
\n", "
\n", "
0xbd = 10111101_ = +0b1.0*2^61  = ~2.31e+18
\n", "
\n", "
0xfd = 11111101_ = +0b1.0*2^125 = ~4.25e+37
\n", "
\n", "
0x3e = 00111110_ = +0b1.0*2^-66 = ~1.36e-20
\n", "
\n", "
0x7e = 01111110_ = +0b1.0*2^-2  = 0.25
\n", "
\n", "
0xbe = 10111110_ = +0b1.0*2^62  = ~4.61e+18
\n", "
\n", "
0xfe = 11111110_ = +0b1.0*2^126 = ~8.51e+37
\n", "
\n", "
0x3f = 00111111_ = +0b1.0*2^-65 = ~2.71e-20
\n", "
\n", "
0x7f = 01111111_ = +0b1.0*2^-1  = 0.5
\n", "
\n", "
0xbf = 10111111_ = +0b1.0*2^63  = ~9.22e+18
\n", "
\n", "
0xff = 11111111_ = nan = nan
\n", "
\n", " \n", "" ], "text/plain": [ "" ] }, "execution_count": 19, "metadata": {}, "output_type": "execute_result" } ], "source": [ "HTML(\n", " airdoc(\n", " *mktbl(\n", " Airium(),\n", " format_info_p3109(8, 1, Signedness.Unsigned, Domain.Finite),\n", " skip_rows=range(0x10, 0x30),\n", " cols=4,\n", " width=8,\n", " d=3,\n", " )\n", " )\n", ")" ] }, { "cell_type": "markdown", "id": "945c7ebf", "metadata": {}, "source": [ "### Some tiny tiny formats\n", "\n", "And finally, some tiny tiny formats. We will take a finite P3109 format.\n", "\n", "For p=1, we get as usual, a pure-exponential format with range 2^-1 to 2^1:" ] }, { "cell_type": "code", "execution_count": 20, "id": "67bfa39c", "metadata": {}, "outputs": [ { "data": { "text/html": [ "\n", "\n", "\n", " \n", " \n", " FP3 Value Table, p3109_k3p1sf\n", " \n", " \n", "

FP3 Value Table, p3109_k3p1sf

\n", "
\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
\n", "
0x00 = 0_00_ = 0.0 = 0.0
\n", "
\n", "
0x04 = 1_00_ = nan = nan
\n", "
\n", "
0x01 = 0_01_ = +0b1.0*2^-1  = 0.5
\n", "
\n", "
0x05 = 1_01_ = -0b1.0*2^-1  = -0.5
\n", "
\n", "
0x02 = 0_10_ = +0b1.0*2^0   = 1.0
\n", "
\n", "
0x06 = 1_10_ = -0b1.0*2^0   = -1.0
\n", "
\n", "
0x03 = 0_11_ = +0b1.0*2^1   = 2.0
\n", "
\n", "
0x07 = 1_11_ = -0b1.0*2^1   = -2.0
\n", "
\n", " \n", "" ], "text/plain": [ "" ] }, "execution_count": 20, "metadata": {}, "output_type": "execute_result" } ], "source": [ "p3109_3p1f = format_info_p3109(3, 1, Signedness.Signed, Domain.Finite)\n", "HTML(airdoc(*mktbl(Airium(), p3109_3p1f, cols=2, width=8, d=3)))" ] }, { "cell_type": "markdown", "id": "62f575dc", "metadata": {}, "source": [ "And for p=2, we get, as usual for p=k-1, a purely linear format. In this case, with values (0.5, 1.0, 1.5). Again as usual, 1.0 is in the middle of the range." ] }, { "cell_type": "code", "execution_count": 21, "id": "d75ae0e4", "metadata": {}, "outputs": [ { "data": { "text/html": [ "\n", "\n", "\n", " \n", " \n", " FP3 Value Table, p3109_k3p2sf\n", " \n", " \n", "

FP3 Value Table, p3109_k3p2sf

\n", "
\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
\n", "
0x00 = 0_0_0 = 0.0 = 0.0
\n", "
\n", "
0x04 = 1_0_0 = nan = nan
\n", "
\n", "
0x01 = 0_0_1 = +0b0.1*2^0   = 0.5
\n", "
\n", "
0x05 = 1_0_1 = -0b0.1*2^0   = -0.5
\n", "
\n", "
0x02 = 0_1_0 = +0b1.0*2^0   = 1.0
\n", "
\n", "
0x06 = 1_1_0 = -0b1.0*2^0   = -1.0
\n", "
\n", "
0x03 = 0_1_1 = +0b1.1*2^0   = 1.5
\n", "
\n", "
0x07 = 1_1_1 = -0b1.1*2^0   = -1.5
\n", "
\n", " \n", "" ], "text/plain": [ "" ] }, "execution_count": 21, "metadata": {}, "output_type": "execute_result" } ], "source": [ "p3109_3p1f = format_info_p3109(3, 2, Signedness.Signed, Domain.Finite)\n", "HTML(airdoc(*mktbl(Airium(), p3109_3p1f, cols=2, width=8, d=3)))" ] } ], "metadata": { "kernelspec": { "display_name": "gfloat", "language": "python", "name": "python3" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 3 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", "version": "3.12.3" } }, "nbformat": 4, "nbformat_minor": 5 }