Skip to content

Instantly share code, notes, and snippets.

@matu3ba
Created February 21, 2022 10:10
Show Gist options
  • Save matu3ba/fd25d79df0dee9ee7b65d798cf94e070 to your computer and use it in GitHub Desktop.
Save matu3ba/fd25d79df0dee9ee7b65d798cf94e070 to your computer and use it in GitHub Desktop.
Incomplete list of numbers systems with practical usage
Incomplete list of numbers systems with practical usage
(dynamic) https://en.wikipedia.org/wiki/Radix
- combinatorics: enumerate combinations/variations/permutations of recursive+discrete structures
https://en.wikipedia.org/wiki/Mixed_radix
- date (year-month-day), time (hour-minute-second)
- combinatorics: enumerate combinations/variations/permutations of non-recursive+discrete structures
https://en.wikipedia.org/wiki/Signed_number_representations
- 2s complement most popular and used in hardware to compute on numbers
- Google's Protocol Buffers "zig-zag encoding" (sign bit at xxxxs) enables variable-length quantity encoding
https://en.wikipedia.org/wiki/Binary-coded_decimal
- rounding behavior to match how a human doing base-10 arithmetic might behave
https://en.wikipedia.org/wiki/Fixed-point_arithmetic
- represent the domain of interest exactly and not accumulate error
Rational numbers
- Without restrictions they have unbounded size when you start mixing denominators
https://en.wikipedia.org/wiki/Floating-point_arithmetic
- wide dynamic range and lots of precision for small values
- simple to use
https://en.wikipedia.org/wiki/Logarithmic_number_system
- Multiply/divide are fast, and addition/subtraction have tradeoffs:
addition/subtraction are not very precies or are very slow
- signal processing: almost all operations are multiply/divide
Symbolic number systems
- represent computable numbers exactly
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment