From 444418d78e275a435031d1995ded85cd477c1526 Mon Sep 17 00:00:00 2001 From: Joshua Potter Date: Sat, 16 Mar 2024 23:02:50 -0400 Subject: [PATCH] IEEE floating-point notes. --- .../plugins/obsidian-to-anki-plugin/data.json | 22 +- notes/_journal/2024-03-15.md | 11 - notes/_journal/2024-03-16.md | 15 + notes/_journal/2024-03/2024-03-15.md | 14 + notes/algebra/sequences/arithmetic.md | 6 +- notes/algebra/sequences/geometric.md | 6 +- notes/c17/strings.md | 98 ++ notes/combinatorics/permutations.md | 2 +- notes/encoding/float.md | 959 ++++++++++++++++++ notes/encoding/images/denormalized-form.png | Bin 0 -> 2235 bytes notes/encoding/images/infinity.png | Bin 0 -> 2383 bytes notes/encoding/images/nan.png | Bin 0 -> 2350 bytes notes/encoding/images/normalized-form.png | Bin 0 -> 5182 bytes notes/encoding/integer.md | 3 +- 14 files changed, 1110 insertions(+), 26 deletions(-) delete mode 100644 notes/_journal/2024-03-15.md create mode 100644 notes/_journal/2024-03-16.md create mode 100644 notes/_journal/2024-03/2024-03-15.md create mode 100644 notes/encoding/float.md create mode 100644 notes/encoding/images/denormalized-form.png create mode 100644 notes/encoding/images/infinity.png create mode 100644 notes/encoding/images/nan.png create mode 100644 notes/encoding/images/normalized-form.png diff --git a/notes/.obsidian/plugins/obsidian-to-anki-plugin/data.json b/notes/.obsidian/plugins/obsidian-to-anki-plugin/data.json index c8660a6..9ce71e8 100644 --- a/notes/.obsidian/plugins/obsidian-to-anki-plugin/data.json +++ b/notes/.obsidian/plugins/obsidian-to-anki-plugin/data.json @@ -96,7 +96,11 @@ "floor-positive.png", "ceil-positive.png", "ceil-negative.png", - "pascals-triangle.png" + "pascals-triangle.png", + "normalized-form.png", + "denormalized-form.png", + "infinity.png", + "nan.png" ], "File Hashes": { "algorithms/index.md": "cd7c7ba91fb2f961c9f2437777e8e2ac", @@ -196,7 +200,7 @@ "combinatorics/additive-principle.md": "e968028670f95ee9a7c5499ff7cb6792", "_journal/2024-02-19.md": "30d16c5373deb9cb128d2e7934ae256a", "_journal/2024-02/2024-02-18.md": "67e36dbbb2cac699d4533b5a2eaeb629", - "combinatorics/permutations.md": "989c076a9f6909627f4decafd4118266", + "combinatorics/permutations.md": "05744081be9ae2962cf5ba817b5357d2", "combinatorics/combinations.md": "5ae0152180a1af7187c43606a4002202", "_journal/2024-02-20.md": "b85ba0eeeb16e30a602ccefabcc9763e", "_journal/2024-02/2024-02-19.md": "df1a9ab7ab89244021b3003c84640c78", @@ -208,7 +212,7 @@ "_journal/2024-02/2024-02-21.md": "f423137ae550eb958378750d1f5e98c7", "_journal/2024-02-23.md": "219ce9ad15a8733edd476c97628b71fd", "_journal/2024-02/2024-02-22.md": "312e55d57868026f6e80f7989a889c2b", - "c17/strings.md": "62b53cc9156eba2b565e33d07813cf50", + "c17/strings.md": "d8a1193ecbbc43aa81539585babb91b1", "c17/index.md": "78576ee41d0185df82c59999142f4edb", "c17/escape-sequences.md": "ebc63c6cdfbe60bbc2708c1b0c8da8bb", "c17/declarations.md": "20e200f2b7abcab8f873cd080f4c9770", @@ -227,7 +231,7 @@ "filesystems/cas.md": "34906013a2a60fe5ee0e31809b4838aa", "git/objects.md": "e9b98576291ca04496c2f0863f526cfa", "git/index.md": "83d2d95fc549d9e8436946c7bd058d15", - "encoding/integer.md": "ef26036d0c0d215e8b626b5db872b028", + "encoding/integer.md": "87f6b405cc33a5f8517588928b0cb17e", "_journal/2024-02-29.md": "f610f3caed659c1de3eed5f226cab508", "_journal/2024-02/2024-02-28.md": "7489377c014a2ff3c535d581961b5b82", "_journal/2024-03-01.md": "a532486279190b0c12954966cbf8c3fe", @@ -244,8 +248,8 @@ "_journal/2024-03/2024-03-03.md": "64e2f17b4d57a6bd42a3d1b7f2851b83", "_journal/2024-03-05.md": "e9a911c19bb4c0ff451db793248cb4bb", "_journal/2024-03/2024-03-04.md": "4948d90a08af2cff58c629c9a2e11ee4", - "algebra/sequences/geometric.md": "53936ec392b3b714bd4a9bdb4554b582", - "algebra/sequences/arithmetic.md": "674256494cdec6f12be553b27918e2d9", + "algebra/sequences/geometric.md": "3cf58281df1d72bdd853eab4d24d75f2", + "algebra/sequences/arithmetic.md": "5ac02c9a08962dd816e4c4a53761e602", "_journal/2024-03-06.md": "ac7a3d764934f49b2be7aa76e402d853", "_journal/2024-03/2024-03-05.md": "94b28d0b9bc62cc0bd99d315fb7c6d30", "_journal/2024-03-07.md": "7bf68d6d81e89aa00f5ddd7510b69e3e", @@ -265,7 +269,11 @@ "_journal/2024-03-14.md": "1c173cab2e903aad876c5f11d49a8b20", "_journal/2024-03/2024-03-13.md": "6a2ad92d0983c36acef93932bfec1758", "git/references.md": "73792b2c7a0700a58336e045915ba0d4", - "_journal/2024-03-15.md": "879afe6bc882e494be20a284196747a5" + "_journal/2024-03-15.md": "a1f0ba85b8d3dd8cf1976373298eb717", + "encoding/float.md": "4a1b49e2f3223c913dfdf469429002bd", + "_journal/2024-03/2024-03-14.md": "1c173cab2e903aad876c5f11d49a8b20", + "_journal/2024-03-16.md": "ef1bcb4d28790c8a32691ddedd6c289f", + "_journal/2024-03/2024-03-15.md": "e54b2513beac5f46313b4c37622adf39" }, "fields_dict": { "Basic": [ diff --git a/notes/_journal/2024-03-15.md b/notes/_journal/2024-03-15.md deleted file mode 100644 index 0850f1d..0000000 --- a/notes/_journal/2024-03-15.md +++ /dev/null @@ -1,11 +0,0 @@ ---- -title: "2024-03-15" ---- - -- [x] Anki Flashcards -- [x] KoL -- [ ] Sheet Music (10 min.) -- [ ] Go (1 Life & Death Problem) -- [ ] Korean (Read 1 Story) -- [ ] Interview Prep (1 Practice Problem) -- [x] Log Work Hours (Max 3 hours) \ No newline at end of file diff --git a/notes/_journal/2024-03-16.md b/notes/_journal/2024-03-16.md new file mode 100644 index 0000000..415fab7 --- /dev/null +++ b/notes/_journal/2024-03-16.md @@ -0,0 +1,15 @@ +--- +title: "2024-03-16" +--- + +- [x] Anki Flashcards +- [x] KoL +- [ ] Sheet Music (10 min.) +- [ ] Go (1 Life & Death Problem) +- [ ] Korean (Read 1 Story) +- [ ] Interview Prep (1 Practice Problem) +- [ ] Log Work Hours (Max 3 hours) + +* Finished chapter 4 of "Designing Data-Intensive Applications". The second half focused on dataflow. +* Continue adding more flashcards on IEEE floating-point. +* Ascended in KoL. Started new run as a Turtle Tamer. \ No newline at end of file diff --git a/notes/_journal/2024-03/2024-03-15.md b/notes/_journal/2024-03/2024-03-15.md new file mode 100644 index 0000000..461389c --- /dev/null +++ b/notes/_journal/2024-03/2024-03-15.md @@ -0,0 +1,14 @@ +--- +title: "2024-03-15" +--- + +- [x] Anki Flashcards +- [x] KoL +- [ ] Sheet Music (10 min.) +- [ ] Go (1 Life & Death Problem) +- [ ] Korean (Read 1 Story) +- [ ] Interview Prep (1 Practice Problem) +- [x] Log Work Hours (Max 3 hours) + +* Added first batch of flashcards on IEEE Standard 754. +* Read first half of chapter 4 in "Designing Data-Intensive Applications". Touches on different data encodings. \ No newline at end of file diff --git a/notes/algebra/sequences/arithmetic.md b/notes/algebra/sequences/arithmetic.md index 602428e..e20dc6d 100644 --- a/notes/algebra/sequences/arithmetic.md +++ b/notes/algebra/sequences/arithmetic.md @@ -93,7 +93,7 @@ END%% %%ANKI Basic -Let $(a_n)_{n \geq 1}$ be an arithmetic sequence. What does term $n$ correspond to in the following? $$\sum_{k=1}^n a_k = \frac{(a_1 + a_n)(n)}{2}$$ +Let $(a_n)_{n \geq 1}$ be an arithmetic sequence. What does term $n$ correspond to in the following? $$\sum a_k = \frac{(a_1 + a_n)(n)}{2}$$ Back: The number of terms in the summation. Reference: Oscar Levin, *Discrete Mathematics: An Open Introduction*, 3rd ed., n.d., [https://discrete.openmathbooks.org/pdfs/dmoi3-tablet.pdf](https://discrete.openmathbooks.org/pdfs/dmoi3-tablet.pdf). @@ -123,7 +123,7 @@ END%% %%ANKI Basic -Let $(a_n)_{n \geq 1}$ be an arithmetic sequence. What does term $2$ correspond to in the following? $$\sum_{k=1}^n a_k = \frac{(a_1 + a_n)(n)}{2}$$ +Let $(a_n)_{n \geq 1}$ be an arithmetic sequence. What does term $2$ correspond to in the following? $$\sum a_k = \frac{(a_1 + a_n)(n)}{2}$$ Back: The double-counting that occurs when adding the summation to itself. Reference: Oscar Levin, *Discrete Mathematics: An Open Introduction*, 3rd ed., n.d., [https://discrete.openmathbooks.org/pdfs/dmoi3-tablet.pdf](https://discrete.openmathbooks.org/pdfs/dmoi3-tablet.pdf). @@ -131,7 +131,7 @@ END%% %%ANKI Basic -Let $(a_n)_{n \geq 1}$ be an arithmetic sequence. How do we visualize the role of term $2$ in the following? $$\sum_{k=1}^n a_k = \frac{(a_1 + a_n)(n)}{2}$$ +Let $(a_n)_{n \geq 1}$ be an arithmetic sequence. How do we visualize the role of term $2$ in the following? $$\sum a_k = \frac{(a_1 + a_n)(n)}{2}$$ Back: ``` * * * * - diff --git a/notes/algebra/sequences/geometric.md b/notes/algebra/sequences/geometric.md index f1db2a6..0b760e7 100644 --- a/notes/algebra/sequences/geometric.md +++ b/notes/algebra/sequences/geometric.md @@ -100,7 +100,7 @@ END%% %%ANKI Basic -Let $(a_n)_{n \geq 1}^r$ be a geometric sequence. What does term $n$ correspond to in the following? $$\sum_{k=1}^n a_k = \frac{a_1(1 - r^n)}{1 - r}$$ +Let $(a_n)_{n \geq 1}^r$ be a geometric sequence. What does term $n$ correspond to in the following? $$\sum a_k = \frac{a_1(1 - r^n)}{1 - r}$$ Back: The number of terms in the summation. Reference: Oscar Levin, *Discrete Mathematics: An Open Introduction*, 3rd ed., n.d., [https://discrete.openmathbooks.org/pdfs/dmoi3-tablet.pdf](https://discrete.openmathbooks.org/pdfs/dmoi3-tablet.pdf). @@ -122,8 +122,8 @@ END%% %%ANKI Basic -Let $(a_n)_{n \geq 1}^r$ be a geometric sequence. How is term $1 - r$ derived in the following? $$\sum_{k=1}^n a_k = \frac{a_1(1 - r^n)}{1 - r}$$ -Back: Given $S = \sum_{k=1}^n a_k$, by factoring out $S$ from $S - rS$. +Let $(a_n)_{n \geq 1}^r$ be a geometric sequence. How is term $1 - r$ derived in the following? $$\sum a_k = \frac{a_1(1 - r^n)}{1 - r}$$ +Back: Given $S = \sum a_k$, by factoring out $S$ from $S - rS$. Reference: Oscar Levin, *Discrete Mathematics: An Open Introduction*, 3rd ed., n.d., [https://discrete.openmathbooks.org/pdfs/dmoi3-tablet.pdf](https://discrete.openmathbooks.org/pdfs/dmoi3-tablet.pdf). END%% diff --git a/notes/c17/strings.md b/notes/c17/strings.md index fbb61f6..9b615a0 100644 --- a/notes/c17/strings.md +++ b/notes/c17/strings.md @@ -337,6 +337,7 @@ Specifier | Description `o` | an octal `unsigned int` `f`, `F` | a `double` in fixed-point notation `e`, `E` | a `double` in standard notation +`g`, `G` | a `double` in normal or standard notation `s` | a `NUL`-terminated string `c` | a `char` character `p` | `void*` address in an implementation-defined format @@ -549,6 +550,15 @@ Tags: printf END%% +%%ANKI +Basic +Which format specifiers correspond to scientific notation? +Back: `%e` and `%E` +Reference: “Printf,” in *Wikipedia*, January 18, 2024, [https://en.wikipedia.org/w/index.php?title=Printf&oldid=1196716962](https://en.wikipedia.org/w/index.php?title=Printf&oldid=1196716962). +Tags: printf + +END%% + %%ANKI Basic Which format specifier was probably used to yield `printf` output `1.723450e+02`? @@ -603,6 +613,94 @@ Tags: printf END%% +%%ANKI +Cloze +The {`%g`} format specifier outputs a {lowercase `double` in fixed-point or standard notation}. +Reference: “Printf,” in *Wikipedia*, January 18, 2024, [https://en.wikipedia.org/w/index.php?title=Printf&oldid=1196716962](https://en.wikipedia.org/w/index.php?title=Printf&oldid=1196716962). +Tags: printf + +END%% + +%%ANKI +Basic +The {`%G`} format specifier outputs a {uppercase `double` in fixed-point or standard notation}. +Reference: “Printf,” in *Wikipedia*, January 18, 2024, [https://en.wikipedia.org/w/index.php?title=Printf&oldid=1196716962](https://en.wikipedia.org/w/index.php?title=Printf&oldid=1196716962). +Tags: printf + +END%% + +%%ANKI +Basic +The `%g` format specifier subsumes functionality of what other format specifiers? +Back: `%f` and `%e` +Reference: “Printf,” in *Wikipedia*, January 18, 2024, [https://en.wikipedia.org/w/index.php?title=Printf&oldid=1196716962](https://en.wikipedia.org/w/index.php?title=Printf&oldid=1196716962). +Tags: printf + +END%% + +%%ANKI +Basic +The `%G` format specifier subsumes functionality of what other format specifiers? +Back: `%F` and `%E` +Reference: “Printf,” in *Wikipedia*, January 18, 2024, [https://en.wikipedia.org/w/index.php?title=Printf&oldid=1196716962](https://en.wikipedia.org/w/index.php?title=Printf&oldid=1196716962). +Tags: printf + +END%% + +%%ANKI +Basic +How does `%g` handle integral values differently from `%f`? +Back: It excludes a trailing `.` and insignificant `0`s. +Reference: “Printf,” in *Wikipedia*, January 18, 2024, [https://en.wikipedia.org/w/index.php?title=Printf&oldid=1196716962](https://en.wikipedia.org/w/index.php?title=Printf&oldid=1196716962). +Tags: printf + +END%% + +%%ANKI +Basic +How does `%g` handle non-integral values differently from `%f`? +Back: It excludes insignifant `0`s after the `.`. +Reference: “Printf,” in *Wikipedia*, January 18, 2024, [https://en.wikipedia.org/w/index.php?title=Printf&oldid=1196716962](https://en.wikipedia.org/w/index.php?title=Printf&oldid=1196716962). +Tags: printf + +END%% + +%%ANKI +Basic +What distinguishes `%g` from `%G`? +Back: The former uses lowercase letters. The latter uses uppercase letters. +Reference: “Printf,” in *Wikipedia*, January 18, 2024, [https://en.wikipedia.org/w/index.php?title=Printf&oldid=1196716962](https://en.wikipedia.org/w/index.php?title=Printf&oldid=1196716962). +Tags: printf + +END%% + +%%ANKI +Basic +What is the output of `printf("%g", 3.14)`? +Back: `3.14` +Reference: “Printf,” in *Wikipedia*, January 18, 2024, [https://en.wikipedia.org/w/index.php?title=Printf&oldid=1196716962](https://en.wikipedia.org/w/index.php?title=Printf&oldid=1196716962). +Tags: printf + +END%% + +%%ANKI +Basic +What is the output of `printf("%g", 3)`? +Back: `3` +Reference: “Printf,” in *Wikipedia*, January 18, 2024, [https://en.wikipedia.org/w/index.php?title=Printf&oldid=1196716962](https://en.wikipedia.org/w/index.php?title=Printf&oldid=1196716962). +Tags: printf + +END%% + +%%ANKI +Basic +What is the output of `printf("%f", 3)`? +Back: `3.000000` +Reference: “Printf,” in *Wikipedia*, January 18, 2024, [https://en.wikipedia.org/w/index.php?title=Printf&oldid=1196716962](https://en.wikipedia.org/w/index.php?title=Printf&oldid=1196716962). +Tags: printf + +END%% + %%ANKI Cloze The {`%o`} format specifier outputs an {octal `unsigned int`}. diff --git a/notes/combinatorics/permutations.md b/notes/combinatorics/permutations.md index 2c0fb22..d72b1ae 100644 --- a/notes/combinatorics/permutations.md +++ b/notes/combinatorics/permutations.md @@ -112,7 +112,7 @@ END%% %%ANKI Basic -$n!$ is shorthand for what other closed formula? +$n!$ is shorthand for what other "big operator" formula? Back: $\Pi_{k=1}^n k$ Reference: Oscar Levin, *Discrete Mathematics: An Open Introduction*, 3rd ed., n.d., [https://discrete.openmathbooks.org/pdfs/dmoi3-tablet.pdf](https://discrete.openmathbooks.org/pdfs/dmoi3-tablet.pdf). diff --git a/notes/encoding/float.md b/notes/encoding/float.md new file mode 100644 index 0000000..91bee8b --- /dev/null +++ b/notes/encoding/float.md @@ -0,0 +1,959 @@ +--- +title: Float Encoding +TARGET DECK: Obsidian::STEM +FILE TAGS: binary::float ieee +tags: + - binary + - ieee + - float +--- + +## Overview + +The IEEE floating-point standard defines an encoding used to represent numbers of form $$(-1)^s \times M \times 2^E$$ where $s$ denotes the **sign bit**, $M$ the **significand**, and $E$ the **exponent**. The binary representation of floating point numbers are segmented into three fields: the sign bit, the exponent field, and the fraction field. Furthermore, there are two forms these fields are interpreted with respect to: + +* Normalized Form + * Here the exponent field is neither all `0`s nor all `1`s. + * The significand is $1 + f$, where $f$ denotes the fractional part. + * $E = e - Bias$ where $e$ is the unsigned interpretation of the exponent field. +* Denormalized Form + * Here the exponent field is either all `0`s or all `1`s. + * The significand is $f$, where $f$ denotes the fractional part. + * $E = 1 - Bias$, defined for smooth transition between normalized and denormalized values. + +The $Bias$ in both forms is set to $2^{k - 1} - 1$ where $k$ denotes the number of bits that make up the exponent field. In C, fields have the following widths: + +Declaration | Sign Bit | Exponent Field | Fractional Field +----------- | -------- | -------------- | ---------------- +`float` | `1` | `8` | `23` +`double` | `1` | `11` | `52` + +%%ANKI +Basic +In base-10 scientific notation, what form do non-zero numbers take on? +Back: $m \times 10^n$ +Reference: “Scientific Notation.” In _Wikipedia_, March 6, 2024. [https://en.wikipedia.org/w/index.php?title=Scientific_notation&oldid=1212169750](https://en.wikipedia.org/w/index.php?title=Scientific_notation&oldid=1212169750). + +END%% + +%%ANKI +Basic +What radix is implicitly specified in scientific notation form $m \times 10^n$? +Back: $10$ +Reference: “Scientific Notation.” In _Wikipedia_, March 6, 2024. [https://en.wikipedia.org/w/index.php?title=Scientific_notation&oldid=1212169750](https://en.wikipedia.org/w/index.php?title=Scientific_notation&oldid=1212169750). + +END%% + +%%ANKI +Basic +In base-10 scientific notation, what numbers does $m$ take on in form $m \times 10^n$? +Back: A non-zero real number. +Reference: “Scientific Notation.” In _Wikipedia_, March 6, 2024. [https://en.wikipedia.org/w/index.php?title=Scientific_notation&oldid=1212169750](https://en.wikipedia.org/w/index.php?title=Scientific_notation&oldid=1212169750). + +END%% + +%%ANKI +Basic +In base-10 scientific notation, what numbers does $n$ take on in $m \times 10^n$? +Back: An integer. +Reference: “Scientific Notation.” In _Wikipedia_, March 6, 2024. [https://en.wikipedia.org/w/index.php?title=Scientific_notation&oldid=1212169750](https://en.wikipedia.org/w/index.php?title=Scientific_notation&oldid=1212169750). + +END%% + +%%ANKI +Basic +What term refers to $m$ in scientific notation $m \times 10^n$? +Back: The significand. +Reference: “Scientific Notation.” In _Wikipedia_, March 6, 2024. [https://en.wikipedia.org/w/index.php?title=Scientific_notation&oldid=1212169750](https://en.wikipedia.org/w/index.php?title=Scientific_notation&oldid=1212169750). + +END%% + +%%ANKI +Basic +What term refers to $n$ in scientific notation $m \times 10^n$? +Back: The exponent. +Reference: “Scientific Notation.” In _Wikipedia_, March 6, 2024. [https://en.wikipedia.org/w/index.php?title=Scientific_notation&oldid=1212169750](https://en.wikipedia.org/w/index.php?title=Scientific_notation&oldid=1212169750). + +END%% + +%%ANKI +Basic +What does it mean for $m \times 10^n$ to be in normalized form? +Back: That $1 \leq |m| < 10$. +Reference: “Scientific Notation.” In _Wikipedia_, March 6, 2024. [https://en.wikipedia.org/w/index.php?title=Scientific_notation&oldid=1212169750](https://en.wikipedia.org/w/index.php?title=Scientific_notation&oldid=1212169750). + +END%% + +%%ANKI +Basic +In base-2 scientific notation, what form do non-zero numbers take on? +Back: $m \times 2^n$ +Reference: “Scientific Notation.” In _Wikipedia_, March 6, 2024. [https://en.wikipedia.org/w/index.php?title=Scientific_notation&oldid=1212169750](https://en.wikipedia.org/w/index.php?title=Scientific_notation&oldid=1212169750). + +END%% + +%%ANKI +Basic +What radix is implicitly specified in scientific notation form $m \times 2^n$? +Back: $2$ +Reference: “Scientific Notation.” In _Wikipedia_, March 6, 2024. [https://en.wikipedia.org/w/index.php?title=Scientific_notation&oldid=1212169750](https://en.wikipedia.org/w/index.php?title=Scientific_notation&oldid=1212169750). + +END%% + +%%ANKI +Basic +In base-2 scientific notation, what numbers does $m$ take on in form $m \times 2^n$? +Back: A non-zero real number. +Reference: “Scientific Notation.” In _Wikipedia_, March 6, 2024. [https://en.wikipedia.org/w/index.php?title=Scientific_notation&oldid=1212169750](https://en.wikipedia.org/w/index.php?title=Scientific_notation&oldid=1212169750). + +END%% + +%%ANKI +Basic +In base-2 scientific notation, what numbers does $n$ take on in $m \times 2^n$? +Back: An integer. +Reference: “Scientific Notation.” In _Wikipedia_, March 6, 2024. [https://en.wikipedia.org/w/index.php?title=Scientific_notation&oldid=1212169750](https://en.wikipedia.org/w/index.php?title=Scientific_notation&oldid=1212169750). + +END%% + +%%ANKI +Basic +What term refers to $m$ in scientific notation $m \times 2^n$? +Back: The significand. +Reference: “Scientific Notation.” In _Wikipedia_, March 6, 2024. [https://en.wikipedia.org/w/index.php?title=Scientific_notation&oldid=1212169750](https://en.wikipedia.org/w/index.php?title=Scientific_notation&oldid=1212169750). + +END%% + +%%ANKI +Basic +What term refers to $n$ in scientific notation $m \times 2^n$? +Back: The exponent. +Reference: “Scientific Notation.” In _Wikipedia_, March 6, 2024. [https://en.wikipedia.org/w/index.php?title=Scientific_notation&oldid=1212169750](https://en.wikipedia.org/w/index.php?title=Scientific_notation&oldid=1212169750). + +END%% + +%%ANKI +Basic +What does it mean for scientific notation $m \times 2^n$ to be in normalized form? +Back: That $m$ has value $1$. +Reference: “Scientific Notation.” In _Wikipedia_, March 6, 2024. [https://en.wikipedia.org/w/index.php?title=Scientific_notation&oldid=1212169750](https://en.wikipedia.org/w/index.php?title=Scientific_notation&oldid=1212169750). + +END%% + +%%ANKI +Basic +How is IEEE pronounced? +Back: "eye-triple-ee" +Reference: Bryant, Randal E., and David O'Hallaron. *Computer Systems: A Programmer's Perspective*. Third edition, Global edition. Always Learning. Pearson, 2016. + +END%% + +%%ANKI +Basic +What is IEEE an acronym for? +Back: **I**nstitute of **E**lectrical and **E**lectronics **E**ngineers. +Reference: Bryant, Randal E., and David O'Hallaron. *Computer Systems: A Programmer's Perspective*. Third edition, Global edition. Always Learning. Pearson, 2016. + +END%% + +%%ANKI +Basic +What IEEE standard describes floating point operations? +Back: 754 +Reference: Bryant, Randal E., and David O'Hallaron. *Computer Systems: A Programmer's Perspective*. Third edition, Global edition. Always Learning. Pearson, 2016. + +END%% + +%%ANKI +Basic +What alternative name does IEEE Standard 754 go by? +Back: IEEE floating point +Reference: Bryant, Randal E., and David O'Hallaron. *Computer Systems: A Programmer's Perspective*. Third edition, Global edition. Always Learning. Pearson, 2016. + +END%% + +%%ANKI +Basic +What floating point encoding is guaranteed by the C standard? +Back: N/A +Reference: Bryant, Randal E., and David O'Hallaron. *Computer Systems: A Programmer's Perspective*. Third edition, Global edition. Always Learning. Pearson, 2016. +Tags: c17 + +END%% + +%%ANKI +Basic +What floating point encoding is used in most C implementations? +Back: IEEE Standard 754 +Reference: Bryant, Randal E., and David O'Hallaron. *Computer Systems: A Programmer's Perspective*. Third edition, Global edition. Always Learning. Pearson, 2016. + +END%% + +%%ANKI +Basic +How are digits left of a decimal point weighted? +Back: As a nonnegative power of $10$. +Reference: Bryant, Randal E., and David O'Hallaron. *Computer Systems: A Programmer's Perspective*. Third edition, Global edition. Always Learning. Pearson, 2016. + +END%% + +%%ANKI +Basic +How are digits right of a decimal point weighted? +Back: As negative powers of $10$. +Reference: Bryant, Randal E., and David O'Hallaron. *Computer Systems: A Programmer's Perspective*. Third edition, Global edition. Always Learning. Pearson, 2016. + +END%% + +%%ANKI +Basic +How are digits left of a binary point weighted? +Back: As a nonnegative power of $2$. +Reference: Bryant, Randal E., and David O'Hallaron. *Computer Systems: A Programmer's Perspective*. Third edition, Global edition. Always Learning. Pearson, 2016. + +END%% + +%%ANKI +Basic +How are digits right of a binary point weighted? +Back: As a negative power of $2$. +Reference: Bryant, Randal E., and David O'Hallaron. *Computer Systems: A Programmer's Perspective*. Third edition, Global edition. Always Learning. Pearson, 2016. + +END%% + +%%ANKI +Basic +What is the decimal expansion of binary $10.11_2$? +Back: $2^1 + 2^{-1} + 2^{-2} = 2.75$ +Reference: Bryant, Randal E., and David O'Hallaron. *Computer Systems: A Programmer's Perspective*. Third edition, Global edition. Always Learning. Pearson, 2016. + +END%% + +%%ANKI +Basic +What decimal value does $0.1111_2$ evaluate to? +Back: $\frac{15}{16}$ +Reference: Bryant, Randal E., and David O'Hallaron. *Computer Systems: A Programmer's Perspective*. Third edition, Global edition. Always Learning. Pearson, 2016. + +END%% + +%%ANKI +Basic +What decimal value does $0.11_2$ evaluate to? +Back: $\frac{3}{4}$ +Reference: Bryant, Randal E., and David O'Hallaron. *Computer Systems: A Programmer's Perspective*. Third edition, Global edition. Always Learning. Pearson, 2016. + +END%% + +%%ANKI +Basic +What decimal value does $0.11\cdots1_2$ evaluate to? +Back: Given $n$ $1$'s, $1 - 2^{-n}$. +Reference: Bryant, Randal E., and David O'Hallaron. *Computer Systems: A Programmer's Perspective*. Third edition, Global edition. Always Learning. Pearson, 2016. + +END%% + +%%ANKI +Basic +What visualization explains why $0.11\cdots1_2 = 1 - 2^{-n}$? +Back: Each additional $1$ halves the remaining interval. +Reference: Bryant, Randal E., and David O'Hallaron. *Computer Systems: A Programmer's Perspective*. Third edition, Global edition. Always Learning. Pearson, 2016. + +END%% + +%%ANKI +Basic +What is the result of shifting the decimal point of $d_m \cdots d_1 d_0 . d_{-1} d_{-2} \cdots d_{-n}$ to the left? +Back: Division by $10$. +Reference: Bryant, Randal E., and David O'Hallaron. *Computer Systems: A Programmer's Perspective*. Third edition, Global edition. Always Learning. Pearson, 2016. + +END%% + +%%ANKI +Basic +What is the result of shifting the decimal point of $d_m \cdots d_1 d_0 . d_{-1} d_{-2} \cdots d_{-n}$ to the right? +Back: Multiplication by $10$. +Reference: Bryant, Randal E., and David O'Hallaron. *Computer Systems: A Programmer's Perspective*. Third edition, Global edition. Always Learning. Pearson, 2016. + +END%% + +%%ANKI +Basic +What is the result of shifting the binary point of $b_m \cdots b_1 b_0 . b_{-1} b_{-2} \cdots b_{-n}$ to the right? +Back: Multiplication by $2$. +Reference: Bryant, Randal E., and David O'Hallaron. *Computer Systems: A Programmer's Perspective*. Third edition, Global edition. Always Learning. Pearson, 2016. + +END%% + +%%ANKI +Basic +What is the result of shifting the binary point of $b_m \cdots b_1 b_0 . b_{-1} b_{-2} \cdots b_{-n}$ to the left? +Back: Division by $2$. +Reference: Bryant, Randal E., and David O'Hallaron. *Computer Systems: A Programmer's Perspective*. Third edition, Global edition. Always Learning. Pearson, 2016. + +END%% + +%%ANKI +Basic +What binary pattern does $1 - \epsilon$ denote? +Back: $0.11\cdots1$. +Reference: Bryant, Randal E., and David O'Hallaron. *Computer Systems: A Programmer's Perspective*. Third edition, Global edition. Always Learning. Pearson, 2016. + +END%% + +%%ANKI +Basic +What compact notation is used to denote $0.11\cdots1_2$? +Back: $1 - \epsilon$ +Reference: Bryant, Randal E., and David O'Hallaron. *Computer Systems: A Programmer's Perspective*. Third edition, Global edition. Always Learning. Pearson, 2016. + +END%% + +%%ANKI +Basic +What compact notation is used to denote $1.11\cdots1_2$? +Back: $2 - \epsilon$ +Reference: Bryant, Randal E., and David O'Hallaron. *Computer Systems: A Programmer's Perspective*. Third edition, Global edition. Always Learning. Pearson, 2016. + +END%% + +%%ANKI +Basic +What name is given to the $.$ in decimal number $d_m \cdots d_1 d_0 . d_{-1} d_{-2} \cdots d_{-n}$? +Back: The decimal point. + +END%% + +%%ANKI +Basic +What name is given to the $.$ in binary number $b_m \cdots b_1 b_0 . b_{-1} b_{-2} \cdots b_{-n}$? +Back: The binary point. +Reference: Bryant, Randal E., and David O'Hallaron. *Computer Systems: A Programmer's Perspective*. Third edition, Global edition. Always Learning. Pearson, 2016. + +END%% + +%%ANKI +Cloze +The IEEE floating-point standard represents numbers in form {1:$(-1)^s$} $\times$ {1:$M$} $\times$ {1:$2^E$}. +Reference: Bryant, Randal E., and David O'Hallaron. *Computer Systems: A Programmer's Perspective*. Third edition, Global edition. Always Learning. Pearson, 2016. + +END%% + +%%ANKI +Basic +What term is used to refer to $s$ in IEEE floating-point $(-1)^s \times M \times 2^E$? +Back: The sign. +Reference: Bryant, Randal E., and David O'Hallaron. *Computer Systems: A Programmer's Perspective*. Third edition, Global edition. Always Learning. Pearson, 2016. + +END%% + +%%ANKI +Basic +What term is used to refer to $M$ in IEEE floating-point $(-1)^s \times M \times 2^E$? +Back: The significand. +Reference: Bryant, Randal E., and David O'Hallaron. *Computer Systems: A Programmer's Perspective*. Third edition, Global edition. Always Learning. Pearson, 2016. + +END%% + +%%ANKI +Basic +What range of values does the significand $M$ take on in IEEE floating-point? +Back: Between $1$ and $2 - \epsilon$ or between $0$ and $1 - \epsilon$. +Reference: Bryant, Randal E., and David O'Hallaron. *Computer Systems: A Programmer's Perspective*. Third edition, Global edition. Always Learning. Pearson, 2016. + +END%% + +%%ANKI +Basic +What term is used to refer to $E$ in IEEE floating-point $(-1)^s \times M \times 2^E$? +Back: The exponent. +Reference: Bryant, Randal E., and David O'Hallaron. *Computer Systems: A Programmer's Perspective*. Third edition, Global edition. Always Learning. Pearson, 2016. + +END%% + +%%ANKI +Basic +The bit representation of a floating-point number is divided into what three fields? +Back: The sign, exponent, and fraction. +Reference: Bryant, Randal E., and David O'Hallaron. *Computer Systems: A Programmer's Perspective*. Third edition, Global edition. Always Learning. Pearson, 2016. + +END%% + +%%ANKI +Basic +How many bits make up the sign field of a `float`? +Back: `1` +Reference: Bryant, Randal E., and David O'Hallaron. *Computer Systems: A Programmer's Perspective*. Third edition, Global edition. Always Learning. Pearson, 2016. +Tags: c17 + +END%% + +%%ANKI +Basic +How many bits make up the exponent field of a `float`? +Back: `8` +Reference: Bryant, Randal E., and David O'Hallaron. *Computer Systems: A Programmer's Perspective*. Third edition, Global edition. Always Learning. Pearson, 2016. +Tags: c17 + +END%% + +%%ANKI +Basic +How many bits make up the fraction field of a `float`? +Back: `23` +Reference: Bryant, Randal E., and David O'Hallaron. *Computer Systems: A Programmer's Perspective*. Third edition, Global edition. Always Learning. Pearson, 2016. +Tags: c17 + +END%% + +%%ANKI +Basic +How many bits make up the sign field of a `double`? +Back: `1` +Reference: Bryant, Randal E., and David O'Hallaron. *Computer Systems: A Programmer's Perspective*. Third edition, Global edition. Always Learning. Pearson, 2016. +Tags: c17 + +END%% + +%%ANKI +Basic +How many bits make up the exponent field of a `double`? +Back: `11` +Reference: Bryant, Randal E., and David O'Hallaron. *Computer Systems: A Programmer's Perspective*. Third edition, Global edition. Always Learning. Pearson, 2016. +Tags: c17 + +END%% + +%%ANKI +Basic +How many bits make up the fraction field of a `double`? +Back: `52` +Reference: Bryant, Randal E., and David O'Hallaron. *Computer Systems: A Programmer's Perspective*. Third edition, Global edition. Always Learning. Pearson, 2016. +Tags: c17 + +END%% + +%%ANKI +Cloze +The exponent field of a `float` has {`8`} bits and a `double` has {`11`} bits. +Reference: Bryant, Randal E., and David O'Hallaron. *Computer Systems: A Programmer's Perspective*. Third edition, Global edition. Always Learning. Pearson, 2016. +Tags: c17 + +END%% + +%%ANKI +Cloze +The fraction field of a `float` has {`23`} bits and a `double` has {`52`} bits. +Reference: Bryant, Randal E., and David O'Hallaron. *Computer Systems: A Programmer's Perspective*. Third edition, Global edition. Always Learning. Pearson, 2016. +Tags: c17 + +END%% + +%%ANKI +Basic +Which IEEE floating-point fields have the same width in `float`s and `double`s? +Back: The sign bit field. +Reference: Bryant, Randal E., and David O'Hallaron. *Computer Systems: A Programmer's Perspective*. Third edition, Global edition. Always Learning. Pearson, 2016. +Tags: c17 + +END%% + +%%ANKI +Basic +Which IEEE floating-point fields have different widths in `float`s and `double`s? +Back: The exponent and fraction fields. +Reference: Bryant, Randal E., and David O'Hallaron. *Computer Systems: A Programmer's Perspective*. Third edition, Global edition. Always Learning. Pearson, 2016. +Tags: c17 + +END%% + +%%ANKI +Basic +When is a floating-point number considered normalized? +Back: When the exponent field is neither all `0`s nor all `1`s. +Reference: Bryant, Randal E., and David O'Hallaron. *Computer Systems: A Programmer's Perspective*. Third edition, Global edition. Always Learning. Pearson, 2016. + +END%% + +%%ANKI +Basic +What distinguishes the exponent *field* from the exponent *value*? +Back: The latter refers to the value after biasing the unsigned interpretation of the former. +Reference: Bryant, Randal E., and David O'Hallaron. *Computer Systems: A Programmer's Perspective*. Third edition, Global edition. Always Learning. Pearson, 2016. + +END%% + +%%ANKI +Basic +What does the bias refer to? +Back: The number used to adjust the interpreted value of the exponent field. +Reference: Bryant, Randal E., and David O'Hallaron. *Computer Systems: A Programmer's Perspective*. Third edition, Global edition. Always Learning. Pearson, 2016. + +END%% + +%%ANKI +Basic +What is the value of the bias? +Back: Given $k$ bits in the exponent field, $2^{k-1} - 1$. +Reference: Bryant, Randal E., and David O'Hallaron. *Computer Systems: A Programmer's Perspective*. Third edition, Global edition. Always Learning. Pearson, 2016. + +END%% + +%%ANKI +Basic +How do you determine the exponent *value* in normalized form? +Back: $e - Bias$ where $e$ is the unsigned interpretation of the exponent field. +Reference: Bryant, Randal E., and David O'Hallaron. *Computer Systems: A Programmer's Perspective*. Third edition, Global edition. Always Learning. Pearson, 2016. + +END%% + +%%ANKI +Basic +How do you determine the significand value in normalized form? +Back: It equals $1$ plus the fraction field. +Reference: Bryant, Randal E., and David O'Hallaron. *Computer Systems: A Programmer's Perspective*. Third edition, Global edition. Always Learning. Pearson, 2016. + +END%% + +%%ANKI +Cloze +A sign bit value of {1:$0$} is positive and {1:$1$} is negative. +Reference: Bryant, Randal E., and David O'Hallaron. *Computer Systems: A Programmer's Perspective*. Third edition, Global edition. Always Learning. Pearson, 2016. + +END%% + +%%ANKI +Basic +Which floating-point field is the bias relevant to? +Back: The exponent field. +Reference: Bryant, Randal E., and David O'Hallaron. *Computer Systems: A Programmer's Perspective*. Third edition, Global edition. Always Learning. Pearson, 2016. + +END%% + +%%ANKI +Basic +How do you determine the sign of a normalized floating-point? +Back: A sign bit of $0$ is positive, a sign bit of $1$ is negative. +Reference: Bryant, Randal E., and David O'Hallaron. *Computer Systems: A Programmer's Perspective*. Third edition, Global edition. Always Learning. Pearson, 2016. + +END%% + +%%ANKI +Basic +For which floating-point form is "implied leading $1$" relevant? +Back: Normalized form. +Reference: Bryant, Randal E., and David O'Hallaron. *Computer Systems: A Programmer's Perspective*. Third edition, Global edition. Always Learning. Pearson, 2016. + +END%% + +%%ANKI +Basic +Which floating-point form is depicted in the following? +![[normalized-form.png]] +Back: Normalized form. +Reference: Bryant, Randal E., and David O'Hallaron. *Computer Systems: A Programmer's Perspective*. Third edition, Global edition. Always Learning. Pearson, 2016. + +END%% + +%%ANKI +Basic +When is a floating-point number considered denormalized? +Back: When the exponent field is either all `0`s or all `1`s. +Reference: Bryant, Randal E., and David O'Hallaron. *Computer Systems: A Programmer's Perspective*. Third edition, Global edition. Always Learning. Pearson, 2016. + +END%% + +%%ANKI +Basic +How do you determine the exponent *value* in denormalized form? +Back: $1 - Bias$ +Reference: Bryant, Randal E., and David O'Hallaron. *Computer Systems: A Programmer's Perspective*. Third edition, Global edition. Always Learning. Pearson, 2016. + +END%% + +%%ANKI +Basic +How do you determine the significand value in denormalized form? +Back: It equals the fraction field. +Reference: Bryant, Randal E., and David O'Hallaron. *Computer Systems: A Programmer's Perspective*. Third edition, Global edition. Always Learning. Pearson, 2016. + +END%% + +%%ANKI +Basic +Is value $0$ representable in normalized form? +Back: No. +Reference: Bryant, Randal E., and David O'Hallaron. *Computer Systems: A Programmer's Perspective*. Third edition, Global edition. Always Learning. Pearson, 2016. + +END%% + +%%ANKI +Basic +Is value $0$ representable in denormalized form? +Back: Yes. +Reference: Bryant, Randal E., and David O'Hallaron. *Computer Systems: A Programmer's Perspective*. Third edition, Global edition. Always Learning. Pearson, 2016. + +END%% + +%%ANKI +Basic +Which floating-point form corresponds to very large numbers ($|V| \gg 0$)? +Back: Normalized form. +Reference: Bryant, Randal E., and David O'Hallaron. *Computer Systems: A Programmer's Perspective*. Third edition, Global edition. Always Learning. Pearson, 2016. + +END%% + +%%ANKI +Basic +Which floating-point form corresponds to near $0$ numbers ($|V| \ll 1$)? +Back: Denormalized form. +Reference: Bryant, Randal E., and David O'Hallaron. *Computer Systems: A Programmer's Perspective*. Third edition, Global edition. Always Learning. Pearson, 2016. + +END%% + +%%ANKI +Cloze +{1:$|V| \ll 1$} is to {2:denormalized} form whereas {2:$|V| \gg 0$} is to {1:normalized} form. +Reference: Bryant, Randal E., and David O'Hallaron. *Computer Systems: A Programmer's Perspective*. Third edition, Global edition. Always Learning. Pearson, 2016. + +END%% + +%%ANKI +Cloze +Significand range {$[0, 1 - \epsilon]$} is to denormalized whereas {2:$[1, 2 - \epsilon]$} is to normalized. +Reference: Bryant, Randal E., and David O'Hallaron. *Computer Systems: A Programmer's Perspective*. Third edition, Global edition. Always Learning. Pearson, 2016. + +END%% + +%%ANKI +Basic +*Why* can't normalized floating-point encode $0$? +Back: Because of the implied leading $1$. +Reference: Bryant, Randal E., and David O'Hallaron. *Computer Systems: A Programmer's Perspective*. Third edition, Global edition. Always Learning. Pearson, 2016. + +END%% + +%%ANKI +Basic +Which number can be encoded in two different ways? +Back: $0$ +Reference: Bryant, Randal E., and David O'Hallaron. *Computer Systems: A Programmer's Perspective*. Third edition, Global edition. Always Learning. Pearson, 2016. + +END%% + +%%ANKI +Basic +In what two ways can $0$ be encoded? +Back: As $-0.0$ or $+0.0$. +Reference: Bryant, Randal E., and David O'Hallaron. *Computer Systems: A Programmer's Perspective*. Third edition, Global edition. Always Learning. Pearson, 2016. + +END%% + +%%ANKI +Basic +What is the actual bit encoding of floating-point number $+0.0$? +Back: All `0`s. +Reference: Bryant, Randal E., and David O'Hallaron. *Computer Systems: A Programmer's Perspective*. Third edition, Global edition. Always Learning. Pearson, 2016. + +END%% + +%%ANKI +Basic +What is the actual bit encoding of floating-point number $-0.0$? +Back: A sign bit `1` followed by all `0`s. +Reference: Bryant, Randal E., and David O'Hallaron. *Computer Systems: A Programmer's Perspective*. Third edition, Global edition. Always Learning. Pearson, 2016. + +END%% + +%%ANKI +Basic +Which floating-point form is depicted in the following? +![[denormalized-form.png]] +Back: Denormalized form. +Reference: Bryant, Randal E., and David O'Hallaron. *Computer Systems: A Programmer's Perspective*. Third edition, Global edition. Always Learning. Pearson, 2016. + +END%% + +%%ANKI +Basic +What is the actual bit encoding of floating-point number $+\infty$? +Back: Sign bit `0`, exponent field of all `1`s, a fractional field of all `0`s. +Reference: Bryant, Randal E., and David O'Hallaron. *Computer Systems: A Programmer's Perspective*. Third edition, Global edition. Always Learning. Pearson, 2016. + +END%% + +%%ANKI +Basic +What is the actual bit encoding of floating-point number $-\infty$? +Back: Sign bit `1`, exponent field of all `1`s, a fractional field of all `0`s. +Reference: Bryant, Randal E., and David O'Hallaron. *Computer Systems: A Programmer's Perspective*. Third edition, Global edition. Always Learning. Pearson, 2016. + +END%% + +%%ANKI +Basic +What is the actual bit encoding of floating-point number $NaN$? +Back: An exponent field of all `1`s and a non-zero fractional field. +Reference: Bryant, Randal E., and David O'Hallaron. *Computer Systems: A Programmer's Perspective*. Third edition, Global edition. Always Learning. Pearson, 2016. + +END%% + +%%ANKI +Basic +What value is encoded in the following image? +![[infinity.png]] +Back: Infinity. +Reference: Bryant, Randal E., and David O'Hallaron. *Computer Systems: A Programmer's Perspective*. Third edition, Global edition. Always Learning. Pearson, 2016. + +END%% + +%%ANKI +Basic +What value is encoded in the following image? +![[nan.png]] +Back: Not-a-number. +Reference: Bryant, Randal E., and David O'Hallaron. *Computer Systems: A Programmer's Perspective*. Third edition, Global edition. Always Learning. Pearson, 2016. + +END%% + +%%ANKI +Cloze +{1:$e - Bias$} is to {2:normalized} form whereas {2:$1 - Bias$} is to {1:denormalized} form. +Reference: Bryant, Randal E., and David O'Hallaron. *Computer Systems: A Programmer's Perspective*. Third edition, Global edition. Always Learning. Pearson, 2016. + +END%% + +%%ANKI +Basic +Which form corresponds to exponent value $e - Bias$, where $e$ is the unsigned interpretation of the exponent field? +Back: Normalized form. +Reference: Bryant, Randal E., and David O'Hallaron. *Computer Systems: A Programmer's Perspective*. Third edition, Global edition. Always Learning. Pearson, 2016. + +END%% + +%%ANKI +Basic +In normalized form's exponent value $e - Bias$, what does $e$ refer to? +Back: The unsigned interpretation of the exponent field. +Reference: Bryant, Randal E., and David O'Hallaron. *Computer Systems: A Programmer's Perspective*. Third edition, Global edition. Always Learning. Pearson, 2016. + +END%% + +%%ANKI +Basic +Which form corresponds to exponent value $1 - Bias$? +Back: Denormalized form. +Reference: Bryant, Randal E., and David O'Hallaron. *Computer Systems: A Programmer's Perspective*. Third edition, Global edition. Always Learning. Pearson, 2016. + +END%% + +%%ANKI +Basic +*Why* is denormalized form's exponent value defined as $1 - Bias$? +Back: It provides a smooth transition between values in normalized and denormalized form. +Reference: Bryant, Randal E., and David O'Hallaron. *Computer Systems: A Programmer's Perspective*. Third edition, Global edition. Always Learning. Pearson, 2016. + +END%% + +%%ANKI +Basic +What is the first integer value not exactly representable by a `float`? +Back: $2^{24} + 1$ +Reference: Bryant, Randal E., and David O'Hallaron. *Computer Systems: A Programmer's Perspective*. Third edition, Global edition. Always Learning. Pearson, 2016. +Tags: c17 + +END%% + +%%ANKI +Basic +What is the first integer value not exactly representable by a `double`? +Back: $2^{53} + 1$ +Reference: Bryant, Randal E., and David O'Hallaron. *Computer Systems: A Programmer's Perspective*. Third edition, Global edition. Always Learning. Pearson, 2016. +Tags: c17 + +END%% + +%%ANKI +Basic +What is the first integer value not exactly representable by an IEEE floating-point number? +Back: Given $n > 0$ fractional bits, $2^{n + 1} + 1$. +Reference: Bryant, Randal E., and David O'Hallaron. *Computer Systems: A Programmer's Perspective*. Third edition, Global edition. Always Learning. Pearson, 2016. + +END%% + +%%ANKI +Basic +Given $n > 0$ fractional bits, *why* is $2^{n+1} + 1$ the first integer value not exactly representable? +Back: There exists a maximum of $n + 1$ significant digits in the significand. +Reference: Bryant, Randal E., and David O'Hallaron. *Computer Systems: A Programmer's Perspective*. Third edition, Global edition. Always Learning. Pearson, 2016. + +END%% + +%%ANKI +Basic +What is the bit representation of the largest normalized positive `float`? +Back: Sign bit `0`, exponent field $11 \cdots 10_2$, fraction field all `1`s. +Reference: Bryant, Randal E., and David O'Hallaron. *Computer Systems: A Programmer's Perspective*. Third edition, Global edition. Always Learning. Pearson, 2016. +Tags: c17 + +END%% + +%%ANKI +Basic +What is the bit representation of the smallest positive `float`? +Back: Sign bit `0`, exponent field `0`s, fraction field $00 \cdots 01_2$. +Reference: Bryant, Randal E., and David O'Hallaron. *Computer Systems: A Programmer's Perspective*. Third edition, Global edition. Always Learning. Pearson, 2016. +Tags: c17 + +END%% + +%%ANKI +Basic +What is the bit representation of the smallest normalized positive `float`? +Back: Sign bit `0`, exponent field $00 \cdots 01_2$, fraction field all `0`s. +Reference: Bryant, Randal E., and David O'Hallaron. *Computer Systems: A Programmer's Perspective*. Third edition, Global edition. Always Learning. Pearson, 2016. +Tags: c17 + +END%% + +%%ANKI +Basic +Let `float x = 1.0`. What is the bit representation of `x`'s exponent *field*? +Back: `01111111` +Reference: Bryant, Randal E., and David O'Hallaron. *Computer Systems: A Programmer's Perspective*. Third edition, Global edition. Always Learning. Pearson, 2016. +Tags: c17 + +END%% + +%%ANKI +Basic +Let `double x = 1.0`. What is the bit representation of `x`'s exponent *field*? +Back: `01111111111` +Reference: Bryant, Randal E., and David O'Hallaron. *Computer Systems: A Programmer's Perspective*. Third edition, Global edition. Always Learning. Pearson, 2016. +Tags: c17 + +END%% + +%%ANKI +Basic +What is the bit representation of the largest normalized positive `double`? +Back: Sign bit `0`, exponent field $11 \cdots 10_2$, fraction field all `1`s. +Reference: Bryant, Randal E., and David O'Hallaron. *Computer Systems: A Programmer's Perspective*. Third edition, Global edition. Always Learning. Pearson, 2016. +Tags: c17 + +END%% + +%%ANKI +Basic +What is the bit representation of the smallest normalized positive `double`? +Back: Sign bit `0`, exponent field $00 \cdots 01_2$, fraction field all `0`s. +Reference: Bryant, Randal E., and David O'Hallaron. *Computer Systems: A Programmer's Perspective*. Third edition, Global edition. Always Learning. Pearson, 2016. +Tags: c17 + +END%% + +%%ANKI +Basic +What is the bit representation of the smallest positive `double`? +Back: Sign bit `0`, exponent field all `0`s, fraction field $00 \cdots 01_2$. +Reference: Bryant, Randal E., and David O'Hallaron. *Computer Systems: A Programmer's Perspective*. Third edition, Global edition. Always Learning. Pearson, 2016. +Tags: c17 + +END%% + +%%ANKI +Basic +What is the largest unsigned interpretation of a `float`'s exponent *field*? +Back: $2^8 - 2$ +Reference: Bryant, Randal E., and David O'Hallaron. *Computer Systems: A Programmer's Perspective*. Third edition, Global edition. Always Learning. Pearson, 2016. +Tags: c17 + +END%% + +%%ANKI +Basic +What is the smallest positive `float` that can be exactly represented? +Back: $2^{-23}$ +Reference: Bryant, Randal E., and David O'Hallaron. *Computer Systems: A Programmer's Perspective*. Third edition, Global edition. Always Learning. Pearson, 2016. +Tags: c17 + +END%% + +%%ANKI +Basic +What is the largest unsigned interpretation of a `double`'s exponent field? +Back: $2^{11} - 2$ +Reference: Bryant, Randal E., and David O'Hallaron. *Computer Systems: A Programmer's Perspective*. Third edition, Global edition. Always Learning. Pearson, 2016. +Tags: c17 + +END%% + +%%ANKI +Basic +What is the smallest positive `double` that can be exactly represented? +Back: $2^{-52}$ +Reference: Bryant, Randal E., and David O'Hallaron. *Computer Systems: A Programmer's Perspective*. Third edition, Global edition. Always Learning. Pearson, 2016. +Tags: c17 + +END%% + +%%ANKI +Basic +What is the smallest positive IEEE floating-point number that can be exactly represented? +Back: Given $n$ fractional bits, $2^{-n}$. +Reference: Bryant, Randal E., and David O'Hallaron. *Computer Systems: A Programmer's Perspective*. Third edition, Global edition. Always Learning. Pearson, 2016. + +END%% + +%%ANKI +Basic +What range does the exponent *value* take on in normalized form? +Back: Integer values in closed interval $[1 - Bias, Bias]$. +Reference: Bryant, Randal E., and David O'Hallaron. *Computer Systems: A Programmer's Perspective*. Third edition, Global edition. Always Learning. Pearson, 2016. + +END%% + +%%ANKI +Basic +What range does the exponent *value* take on in denormalized form? +Back: The exponent always evaluates to $1 - Bias$. +Reference: Bryant, Randal E., and David O'Hallaron. *Computer Systems: A Programmer's Perspective*. Third edition, Global edition. Always Learning. Pearson, 2016. + +END%% + +%%ANKI +Basic +What is the signficance of term $1$ in "the smallest normalized exponent *value* is $1 - Bias$"? +Back: The smallest unsigned interpretation of a normalized exponent field is $1$. +Reference: Bryant, Randal E., and David O'Hallaron. *Computer Systems: A Programmer's Perspective*. Third edition, Global edition. Always Learning. Pearson, 2016. + +END%% + +%%ANKI +Basic +How does the largest unsigned interpretation of the exponent *field* relate to the $Bias$? +Back: The largest unsigned interpretation is $2 \times Bias$. +Reference: Bryant, Randal E., and David O'Hallaron. *Computer Systems: A Programmer's Perspective*. Third edition, Global edition. Always Learning. Pearson, 2016. + +END%% + +%%ANKI +Basic +How does the largest exponent *value* relate to the $Bias$? +Back: It equals $Bias$. +Reference: Bryant, Randal E., and David O'Hallaron. *Computer Systems: A Programmer's Perspective*. Third edition, Global edition. Always Learning. Pearson, 2016. + +END%% + +%%ANKI +Basic +How does the smallest exponent *value* relate to the $Bias$? +Back: It equals $1 - Bias$. +Reference: Bryant, Randal E., and David O'Hallaron. *Computer Systems: A Programmer's Perspective*. Third edition, Global edition. Always Learning. Pearson, 2016. + +END%% + +## References + +* Bryant, Randal E., and David O'Hallaron. *Computer Systems: A Programmer's Perspective*. Third edition, Global edition. Always Learning. Pearson, 2016. +* “Scientific Notation.” In _Wikipedia_, March 6, 2024. [https://en.wikipedia.org/w/index.php?title=Scientific_notation&oldid=1212169750](https://en.wikipedia.org/w/index.php?title=Scientific_notation&oldid=1212169750). diff --git a/notes/encoding/images/denormalized-form.png b/notes/encoding/images/denormalized-form.png new file mode 100644 index 0000000000000000000000000000000000000000..51446928fc4a4d94fd283b75be76daf98b59ba10 GIT binary patch literal 2235 zcmb_ddpy%$AOCvvD}~9=rJu{94538GgCF}Pmu9lu?-Z%FJ-OQyGxdllWULiNKVxFZ zuUwxoNu-2wTNjsPODxHjX*2fQdcB^fKl=CiA2><|kEFCgL6Oa}F$eo8d9q~yHTbfEa;WH2J zTiK?3Dlj_xYWAJJbz@yvtxJ8LIr&y!FxAJ*JS@Vt9!aZNY64f=dRri$U@Xbo!6n%* zn*xYCOZ)a0LSbX~8#{wg zC>}>2<6fYLb{};Ruu4cuK;un;ygG8_{jv~mDtxzr@dna~8GeHNB;mEJ>h?giJf9P; zAC(j5gq*E3FTPzsMb?;x7F!%e^DvrNELgxQj0tl99(rl#?TZ>-onp_l&mDZza-OEC z#ZjaIfS%a$o-YECe4+%jdz8%^U&8z# z3>q03VPD5QOPHeMYFYQst^7s;fc=mRkcfx6=u!(ou08dZ>7|^nBVMpeq%;Q-EP0y+ zmw2Xn<*8i#2V5Dz&*G7l8^I@@uh6RlI6efE#NRULMK)&}CPZh*hd1JA@vSWM6#O7M zn*X~^g?1l1^yZ<)E}{NoIAMoJ=^^*G$;C;mkaozz%S6(tS5~Y-1ml7L05}2MNu{sT z3`a42li~`!v&L6L^`P-PLgawPB0FO-#cQ;Px9g9lAsGHS*ABZcYYSL2j%jQ2vOt}lxjAfC?ZIz& zMm+oeQ21RRPvxu)nRH^3kSt~usn&~nQCF^9F|x)Mg1~R?WoEkQPm=E-N2zF!Gc6RK>o7Ka&s=_)iBIlu-)KEI6mca-MTRt9I(^)6# zI8aNYOTGa69P{e66)qwbtBlra&@i}!x;Is3*f+Upd%t0Cd1`j5G$s>=9zc{L*4^vD^%FG^?r}-P#xwe^x?)VIwiSzU%RAy2QdLSnv>2!ieRt&=I z27=+l2$Tc?tzk2Qm8*M;dt)X^dEe>*JRE)vg6yt1ODw+GFsGAtCqDWu1u`_F=%G&?9z`RZ;w|&*mSD6{bnB9hi)~zjV-}-}mZOS@e z=wkqkP$FqNdnlvqZ~_X2Zbmab>H~Qd>QDl7YT+jEoa zc|vfxY$vRB!({w$Wsi~^0{HJFPGN|#LhO?_Pt?|p9X9LjfliHAj z%QkmkhilbO51p$IFRIDiHqAVO&Hgo#Eacx(z$G*-Lth5xt1m=E5l>;61qcVh2evHm zd_L9*`A&C+6Mj}u3*&OZVEzzq(+ z9toshNoo@@tu4>>=9Hr*R30SZ`~JOHc&oC^Ue9MG@QQzHd)j~8PFM~mXI9mT~^e^^p3H;??{&x%4X8nf-kTOTyX`3yXA!DgyWS!7WL0O4d1 z2@jK$cEy2`gl6aVKF?O}gw@A!aLVc;Xs$Bl#(&*VST4@w@@CA!wgMUHAf0dDbq;V; z`AOgYFCzI9$*TMD&gN_^`ci3SV~AQn^d)%S;-?of~ju5SOP Xya-wf(wz)MNd*|@?BUelc=Gb!w{I#2 literal 0 HcmV?d00001 diff --git a/notes/encoding/images/infinity.png b/notes/encoding/images/infinity.png new file mode 100644 index 0000000000000000000000000000000000000000..61f168cc85201cf781e0d14bd7bed3ebbfdd3a83 GIT binary patch literal 2383 zcmb_eYgCfi8m6n6C++5FCD8e9*Mc`Eh=ob$)z%ziY3(p8dSfe!lnJsi&Om zHf`Lw5dwj10_<&FA&@mnFgDw;9vp9M*r5YXn&<3)j)6e5pQ*l8)cxAKz_nF??Qwjp z-|R@TW3L3tUC`q=9T!8+4@tw@*{)rk#s%g9=_d!uF+SOE`n4}+v-i)uMP*Slb5On| zkt39xK>_Si)8NHEcAswB;Umv4gr(|s2KQsjJ*H_i%YB&A%>l{p-j5hz^+}1Ql0~V# zqX|PIp&Kbp|{tl zdC^ZxHB`Y9{!c5bRKcIeXvwM>5|J?pQwQ{*|6xmQh-gp5(LlWPMAdaHcBXpP8yz*w)wIU$URgj<1iX9Q_Vc*4}O+q7@W=5m(T|a>m@2 zpRQjf6pb=ZyD;So;8L_N207`3<}4tOQaW>zIht(*;`*CctaN_>aBgBPfEo+iS#uw*+xYkLP z=jKwl(JOcM;zfa}+PZq7NpnXQsS^lM8WYQ~R{SQ0!{HXm&($9-`+J2$u;ARomz5Pdee#zpD!;Si@ z1=Zf^I6tvv{Mc~1c;e~-PW88{+u^`VW!1qfiFJk5`PYQ8%IRmCXNx+zdW-$tTwM#N zXLh~Dt-ofSWGWNOPkgzB6kPHXjueJDebph~mz8~ApGuqSEOF=c1>NEc7GPz)4Bp%C zf!rLF+qjYA!MU}Un*f8n13*}Gw5K|~j$jA5;4>}1VjF;=oQ zek&ZJ@|O!o4TdC3-p2cfSw%&LL=vgE$*pq0fB0TYO9ukj*5YiTMs=8y1~wJ7oD3SP z>>|uvL?szsVSdr3O@+rG|JezvTe-|z!Vuc60M{58=9%dLb>H4Y4n!g&8xGOW+yXyo zPs#P7-%RDuXtYr-e9TVjxY~x%XbX~}Go5+q)`|co=AvSisS*l>QtmG6UUSGZb93*T z7btpIVu2C5l|0L3H)gH*=Myh)ZzKS(#Aq%d4_AChutyZL@4X~!)t8Bppw)T*NRs)9 z1sYlk=8R6PlvgX#MK3lpUThgZ72M);HuyCaq4>ao&5Vq5iJ#^*CYEAv)I$P3J&q=T zW(N7KWz^1l7p%tq7jDUX1T!~`(!_-7q!!2}vJOcntm8J3(gX}-mBPoRKR^>|pDd0V7oOd0G z>Xdkx48+Vh;9XoyfStM+SFLXj2sx`DtIr7=UX60Ad(4vzSLX76@TQ30Ki3k*MkR_u z3sgwX98<9X2mY2U5R;sx6yIwy^N(tK5r1*HZ%gHi7aPzG{2j*v4Je4L z(x=h8_k9Hg%ZsV({qVd*OKCFTmx&l5%Pl6qPq5Wkn)eJ3uMP|hv_KQD3q_vBQL(pu zD&TdAQi`$-vbn&ML^UQf?L{8lhF|{Z)v(aAyASXFGUr|I(`)HeD)APgI6`TiXGv;* zWO+^{$KSPen8}+L`o{?GzMVrMjc#>4cs%Jvd+5XPm-|#T2PRY&pQFx9mU}18t-ky& zB;>PWIF4N5ADIZW|L&wap;xkp(>b5}>Q&ItlF)-w9RL=DujP!VtrDh)AFQjVbks44 zvnSna>&~7q{SJjX$@UB*3dYt!mxuiqn+DDKk&w+6g!bEAz#%lMpA2XwuN`9bB+nzq|%xd?X=#g+e+QtAWKh$s+R}ka$D81x+ez298kSW zAdoi(tr&H1nEQX(qKAePug3*z5+cePQAA2yL=KRu33eeat+r1d#J%a}<&_&3u|vgB gNB8gX;U#~{ipIhrlI6r!M3jmRfOWF1I1zC5U!wfcu>b%7 literal 0 HcmV?d00001 diff --git a/notes/encoding/images/nan.png b/notes/encoding/images/nan.png new file mode 100644 index 0000000000000000000000000000000000000000..3473c2e01a2807015ec70a0713418718df9217f5 GIT binary patch literal 2350 zcmcImc|4SB8-D5Q&~)%Qh3G^y%2K54vQ-+RvYW{=mWHuY##p9d)Zr9D4RVCWnq`o~ zL>g-+vW@IA8p)E3CCM1em^tr!-}m45`~Lj?c;EYZ|G4kxdhh4Duj@&)wT6j7({Uv6O*nNuuEbG>xP<)pqoKa^oa#D7=EC$8K%`L_|G+J8#k*AtV^E_z{5mfH4*U}$%1`T zLw^@m9l(S%rxDh>IUXipTAa&)b0T8b$shc5ARC|3%uTlEb~P0MTmIV)oCATYx#1ly zlW<=zOWoAN-@n|-gB)x0F$8_VxR=hZ?#MD%Sa^HMgkTBM8&7bpGTbc<&B}G zWo1jcx>TCaMwLxv?}_+eF!*I5pk;8ahiF;jLiMY@JD8_E-`J8AAQ|HR88w$~)52dD z0@#T6?#7g4ex!dnV{M$>L#Nwu< z@1NbUEF(b$gZ;n_+u2TW6b*q%{T9d?8Hd6@5sCH(4^35>w4R8j)z;O$+!`)P@{=r( zJaNT;g)yp=CJYd!@AeXJL}8oPX8y^Jecj+9ztE&J^#{@I#he;*mr9I9U^)oARjXd)+u2;GiAErZ< zPsYZMD~N|#`vxwguE_C*EZGYBkH7o2Q@JA6bmItpYuj@VKVX)YJ^skXWLy3O`O7|laFa2zSW#K#h#Awu z;%xSII9bq4l;&{3MmXA4*~cU4_f~Ct6#Ax=q@-fQWU#w1uvTc8#os(;=(n1?T{{tE zbL8dmY2`8Z#SO_>zVaa7%#7#54cXlM_MN%mG)IKX z?j*0Mh-OLZpUWL%FX=rD&a9k;Q9NLgiH|4q?9m5-wR!-%hW=fQ=-l4k&e-6HF=~C% zlaiC2oSh4L6SAnQ$vSFkua)4e0p9IdC`dzA-Qsx+D`?6&c%o_0jfw1)mLwGy7Am2! zFpzd3h>s*F$U?n(00^c0FyhDTBA8=NVQKu2GJRxqSF?P#Y65mYSjTi{b`q-{{`D-D zkQF=`iEK5&v5GNGh9#YwA@qwma1sb2g?>y*Dihql@Cn^j?ZU&*WFf$Vg5B2C)Xaij z=Z+rk=)^hf6lfpY=6FfXAv5=|(F+0Y;^3^{l?697K1jeUL9yCKD=)U}=9WDd2V^_yaX( z!H$^4UB7;bvdP(v0)@bc#m(mL?b>h9^e`$~w-bhjCCZlZqknlaUasWZ70s|0ERxw< zvxF&7Ch`?;Y2*C3@knYQr&Yde>*~G1Oo>|J(^B=lwE_9bvtd7(;>I%d)j5czw zl4v!yuJu7fA_`5V-RYg`UOcxIChaQeFoT-?lbGCcGzb}B4{4sdM*8dXK+k+{pHr2O z&#^411rC2vQ85K1Ml}je@!$`@Ks}psTAJjMSDCOqvTWIKVo5G6jsDk*&8x{7U zVTYwA;E(O>)HL~_Dd}M0GKp1ATdNagJo^Ov<(+8{7B94<0SZovF`iwq)8N(Cwg82{ zt4l2(Ske6#F>u>yiHW0i?|IjP8M$jJ{Dy=C9pqbd6%?+jN(cq@+AIcbvZiSgn|tw6 zj{khpJcl6a5iGy85J3y)ZfW6G_>iZ)(0)C_Y!zJ(gt0R`%Dzz z*)FXUH{DX9<=6#{Bn2aD*H)ej^2L*`kcM7xkP{D`>Xw|bwdx7UGtOCxJ_7zjEb_-) zqIIc5@MQh)kk3`>?b%Nc)t5p#l3M)+3)7?y9iqg?o2sh%=k@1ygFn>qn)&K^XNnxsqfXB!>j|O$Ri`Sr)d+0Z zw{N85U^HXPiPVTc4l*fVu~r!$+&X)puc@HSOoZ`iP(NK?YVbRh zm7nS?aq!V|qU`1G87>x7gzY2LLO|Is624#8KL3pU8Ca_m z*{KkCpSGKn)VkGo5n#mQ|KpPXWwpLnr~WJ*nh(pyl5ZK#Iyxer7cFQ$RVN=A*oNmd uhr<^jn*Y8Kz>Hg8QEwPbl>W!qmx8 literal 0 HcmV?d00001 diff --git a/notes/encoding/images/normalized-form.png b/notes/encoding/images/normalized-form.png new file mode 100644 index 0000000000000000000000000000000000000000..f34758c5aac20b19c2e6d4afa9e53377c4346636 GIT binary patch literal 5182 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