Absolutely normal number Created 2026-10-05 Updated 2026-10-14
An absolutely normal number is a normal number in every integer base . This requires every finite word in every such positional notation to have its appropriate limiting digit block frequency. Knowing base-ten normality alone does not establish absolute normality; the base is part of the statement.
Borel's 1909 result says that absolute normality holds almost everywhere for Lebesgue measure: within the exceptions form a Lebesgue null set. In particular, the set of absolutely normal numbers has Lebesgue measure one there. This is a statement about the size of an exceptional set, not a test for a specified constant. [ref] [ref]
A modern route uses the Birkhoff ergodic theorem and ergodicity of integer multiplication on the circle. For each fixed base and digit interval, the time proportion equals its Lebesgue measure almost everywhere. The bases and finite words form countable sets, so a countable intersection of these measure-one sets still has Lebesgue measure one. For an absolutely normal number, the word therefore has frequency in base two, in base three, and in base ten. The same symbols represent different intervals in different bases.
Base-p digit sum Created 2026-09-28 Updated 2026-10-18
For a nonnegative integer and integer base , write its base-p expansion as
The base- digit sum is , with . When is a prime number, the Legendre formula becomes
To see the connection, divide the base-p expansion by and discard the fractional part. Swapping the resulting finite sums and using a finite geometric series gives
In particular, , so and . The leading numeral digit contributes thirteen, the next contributes eight, the next one, and the units contribute zero. Thus the base-p digit sum compresses the same contribution ledger into information already present in positional notation.
Binary numeral system Created 2026-09-29 Updated 2026-10-20
The binary numeral system is positional notation with radix two. Each binary digit is zero or one, and its place value is a power of two. A one includes that weight in the sum; a zero skips it. The binary representation therefore selects and represents the integer .
To obtain those binary digits from , repeatedly use Euclidean division by two:
The remainders, in the order produced, are . Read them in reverse order to get . The final zero is the quotient that stops the conversion, not an additional leading binary digit. Starting with zero itself needs the special single-digit representation .
A useful independent check reads the binary digits from left to right. Start with and, for each binary digit , replace by . For , the intermediate values are . This reconstructs the integer without reversing a list and explains why appending a zero on the right doubles the value.
Binary is well suited to computation because each binary digit has just two possibilities. A stored bit can encode either possibility; groups of bits encode larger integers. Practical integer arithmetic can use a radix that is itself a power of two, grouping several binary digits into each stored numeral digit.[ref] A displayed negative integer, such as , uses a separate sign. A computer's particular signed storage convention is an additional encoding choice, so the displayed sign should not be confused with an extra binary place.
Carry (arithmetic) Created 2026-10-18 Updated 2026-10-20
In positional notation with integer base , a carry transfers units in one position into one unit in the next position during addition. Each such transfer lowers the sum of the numeral digits by .
Decimal Created 2026-10-03 Updated 2026-10-20
For a reduced fraction with , , and coprime integers, its decimal representation repeats immediately after the decimal point. The shortest repeating block has length
Here denotes multiplicative order, and denotes Euler's totient function. Changing the numerator preserves the decimal period as long as the fraction remains reduced.[ref]
For example, long division of gives the remainders , with emitted digits . Consequently
Each remainder determines both the next digit and the next remainder; returning to one restarts the same six steps.
Figure 1.
Long-division remainders explain the six-digit repeat of one seventh and the two-digit prefix of one twenty-eighth
. Details.
More generally, initialize long division with . At each step, division with remainder gives
so . Since are coprime integers, the modular inverse of shows that exactly when . To see why the digit block cannot repeat sooner than the remainders, a purely repeating decimal with a block of digits represents for an integer . A reduced fraction with that value forces . Hence the shortest digit repeat and the multiplicative order coincide.
Knowing the decimal period predicts how many digits must be computed and stored: one block determines the whole repeating decimal. It also constructs the block directly. With , the integer
is the block, padded on the left with zeros to digits. For , and , so the block is and . Reduction matters: has decimal period one, whereas .
If the reduced denominator contains prime factors two or five, ten has no multiplicative order modulo that whole denominator. Write
The decimal preperiod has exactly digits. If , the remaining repeating decimal has decimal period . For instance, gives : two prefix digits, then six repeating digits. If , the decimal representation is a terminating decimal with exactly fractional places. We use the representation ending in zeros, rather than its alternative ending in nines; for example terminates after three places.
A short derivation explains both cases. After digits, multiplying the reduced fraction by and discarding its integer part leaves a reduced fraction whose denominator is . This denominator first becomes coprime to ten at . It then equals , giving an immediate repeat when , or an integer when . The same long division argument works for positional notation in any base : for a reduced denominator coprime to , the shortest repeating block has length .
Decimal representation Created 2026-09-29 Updated 2026-10-14
A decimal representation is positional notation with radix ten and numeral digits zero through nine. For an integer, the nonnegative part is a finite decimal expansion; a negative integer has a separate minus sign. For example, , whereas . The numeral digits alone do not determine the value: their positions do.
Fractional positions extend the same place value rule to the right of the decimal point, with successive weights . [ref] For example,
The matching binary representation is , since its fractional part is . These representations terminate in both bases; finiteness in one radix does not imply finiteness in another.
Leading zeros in the integer part and trailing zeros in the fractional part leave the value unchanged: . A zero appended to the right of an integer string has a different effect: . Keeping the decimal point fixed prevents confusing these two operations.
Every integer has a finite decimal expansion, but a noninteger rational number may need infinitely many fractional numeral digits, as in . A terminating decimal has a zero tail by convention. Infinite decimal strings have a further ambiguity that finite canonical integer strings do not: , because the geometric series sums to one. An infinite decimal tail denotes a limit, not a sufficiently long rounded approximation.
Digit block frequency 2026-10-14
For a finite prefix of digits in positional notation, the digit block frequency of a length- word is its number of overlapping occurrences divided by , the number of available starting positions. All such digit block frequencies sum to one. The infinite limit used for a normal number can instead divide counts by : the factor tends to one for fixed .
For the six binary digits , the single-digit counts are three zeros and three ones. Its five adjacent pairs are , giving
This example explains both the overlapping convention and the end correction in a finite sample. The corresponding infinite binary expansion has pair frequencies , rather than the four values required of a normal number in base two.
Splitting two integers in positional notation gives and , where shifts a block by numeral digits in fixed radix . The distributive property gives
Computing separately needs four block multiplications. Merely halving the operands therefore gives an ideal recurrence relation , still with quadratic time complexity. The Karatsuba three-product identity instead computes , and , recovering the middle coefficient by two subtractions. The MIT notes present precisely this four-product versus three-product distinction.[ref]
For an original small example, multiply by . Set , , , , . Four separate block products would give , , , . The three-product calculation is
The crucial reuse is that and supply the outer coefficients and also remove the unwanted terms from . There is no need to compute and separately. Expanding proves the identity. Induction extends it to Karatsuba multiplication once each smaller block product is correct and Karatsuba recursion termination supplies decreasing sizes and complete base cases.
Figure 1.
Four block products or three: the exact ledger for
. The left ledger computes both cross products separately. The right ledger reuses and to recover their sum as . Both reconstructions yield . Counts refer to block multiplication calls at this split; the extra numeral digit in prevents interpreting all three as single-digit products. Details.
The operation model matters. Let count numeral digits in fixed radix , and count single-digit multiplication, addition, subtraction and copying as constant-cost operations. The nonrecursive work on size- operands is : it includes forming sums, positional shifts and Karatsuba carry handling. Treating an arbitrarily large integer multiplication as one operation would hide the very saving being studied. The coefficients above must be shifted and added; concatenating them does not give .
In the ideal equal-half model, Karatsuba multiplication has . At depth its additional work is at most a constant times , and its leaf count is for . A geometric series gives , where . Four recursive products would instead give leaves. Saving one block product repeatedly changes the exponent, even though the combination requires extra addition and subtraction.
For the literal sum-based version, each operand sum can occupy one extra numeral digit. Its worst-case upper recurrence relation is for a nondecreasing cost envelope, above a fixed base case threshold of at least three digits. Karatsuba digit-operation cost proves that this extra digit preserves the exponent; Karatsuba operand splitting handles odd lengths and leading zero padding. For signed integers, apply the nonnegative procedure to their absolute values and restore the sign. The small ledger establishes an exact identity, while Karatsuba practical crossover explains why it alone cannot predict a speedup for two-digit operands.
Factorial number system 2026-10-20
A mixed-radix positional notation using factorials as place values: with . For lexicographic order on permutations, division by selects the next symbol when symbols remain; the remainder gives the rank within that block.
Floating-point arithmetic Created 2026-10-14 Updated 2026-10-14
Floating-point arithmetic represents a real number by a sign, a fixed number of significant digits, and a scale. It trades exactness for a compact representation spanning many orders of magnitude. The picture shows the essential compromise: with the same precision, large numbers have wider gaps between representable neighbors. Thus accuracy is naturally relative to magnitude, rather than a fixed distance along the number line.
Figure 1.
Eight normalized four-bit binary values in each of three intervals, with gaps doubling from one eighth to one half
. Details.
In radix , an integer at least two, a nonzero normalized value has the positional notation
where the digits and exponent are integers. The parenthesized factor is the significand; counts all its significant digits, including the leading digit. Normalization means , so the same value has one such representation. The allowed exponents satisfy . Finite precision restricts the available digits, while the exponent bounds restrict the range. Zero needs a separate representation. This scales a digit string in positional notation by a power of its base.[ref]
For positive normalized values in , increasing the last digit by one gives the constant neighbor spacing
At the next scale, the spacing is multiplied by . In the binary numeral system with , the values in are ; those in are ; those in are . The respective gaps are , , and . Although absolute resolution deteriorates with magnitude, stays between and . This scale invariance is why floating-point arithmetic suits both microscopic and astronomical calculations.
The IEEE 754 binary64 format uses the binary numeral system with , including an implicit leading one for normalized values, and normal exponents . Its 64 stored binary digits comprise one sign digit, 11 exponent digits and 52 trailing significand digits. Subnormal numbers extend the range toward zero with a different leading-digit rule. In rounding to nearest, an operation returns the representable value closest to its exact result; a tie goes to the value whose last significant binary digit is even. Machine epsilon describes the gap just above one, whereas unit roundoff bounds a single relative rounding error in the normal range. These format and rounding rules are presented in MIT's floating-point lecture.[ref]
Even an ordinary terminating decimal can require rounding in the binary numeral system. The rational number has the repeating positional notation . Every finite binary fraction has a reduced denominator that is a power of two, so the factor five in prevents an exact finite binary representation. In binary64, the exact stored values of three decimal literals and their computed sum are
The exact sum of the first two stored rational numbers is , halfway between two binary64 values. The even-last-digit tie rule rounds it upward. The printed result is 0.30000000000000004, one step above stored 0.3, so 0.1 + 0.2 == 0.3 is false. Both conversion of the inputs and rounding of the addition matter here.
To reproduce the table on a Python installation using binary64, inspect exact fractions rather than only their printed decimal representations:
import sys
assert (sys.float_info.radix, sys.float_info.mant_dig) == (2, 53)
for value in (0.1, 0.2, 0.3, 0.1 + 0.2):
    print(repr(value), value.as_integer_ratio())
print(0.1 + 0.2 == 0.3)  # False
Python's as_integer_ratio() returns a pair of integers whose quotient equals the stored finite value exactly.[ref] Exact rational numbers are also useful for checking floating-point arithmetic: a short decimal printout can hide the approximation being made.
Historically, David Goldberg's March 1991 ACM Computing Surveys paper explained representation, rounding and catastrophic cancellation together with the IEEE standard's design choices. Oracle provides an authorized edited reprint. Its enduring lesson is practical: use the spacing to understand roundoff error, and inspect intermediate values when mathematically equivalent algorithms behave differently.[ref]
Fractional part Created 2026-09-24 Updated 2026-10-20
The fractional part of a real number is
It is the amount left after removing the lower enclosing integer, even for negative inputs. Thus . It is not the signed string of digits obtained by truncation toward zero.
Translation by an integer leaves the fractional part unchanged: . It is therefore a periodic function with period one, increasing from zero toward one on each unit interval, then returning to zero at the next integer. In Euclidean division with , ; for , this is .
The notation is useful for following repeated motion modulo an integer. In normality and equidistribution under integer multiplication, the values shift the digits of a positional notation; the fractional part discards the leading integer portion without losing the remaining digits. Its braces must be distinguished by context from the braces denoting a set.
Fundamental theorem of arithmetic Created 2026-09-24 Updated 2026-10-20
Every integer is a product of prime numbers, uniquely up to reordering the factors. More precisely, there are unique distinct prime numbers and unique positive integer exponents such that
In the header's displayed form, is the prime valuation, the exponent of in this prime factorization; it is zero when does not divide . Reordering or regrouping the prime factors does not give a different prime factorization.
For , repeated division gives , , , then , , and . Thus
Its nonzero prime valuations are , and . Recording only the distinct prime factors would lose the difference between and .
This turns divisibility into coordinatewise comparison of nonnegative exponents. A positive divisor of chooses an exponent from for , from for , and from for , giving positive divisors. The greatest common divisor takes the smaller exponent at each prime number; the least common multiple takes the larger. The theorem is a structural description, not an assertion that finding the factors of every large integer is computationally easy.
In general, for positive integers , the exact divisibility criterion is
For example, divides , with quotient , whereas does not: it requires four factors of two, but supplies only three. Both use only prime factors of , so membership in that list alone does not establish divisibility. Every positive divisor of is uniquely with , , . Sorted, all 24 positive divisors are
Thus the divisor function gives . These include divisors that are composite numbers, as well as the prime factors and one.
For another positive integer , the prime valuations give exact formulas for the greatest common divisor and least common multiple:
With and , their prime valuations at are and . The smaller exponents give , and the larger give , hence
Indeed, , , and . The same rules also explain : the smaller and larger exponents sum to the two original exponents. Here .
Figure 1. . The upper table compares exponents at the prime numbers for and , then takes their columnwise minimum and maximum. The lower tables enumerate for and ; each cell gives one positive divisor. Details.
The useful change of viewpoint is that multiplication becomes addition of prime valuations, , and divisibility becomes comparison. Many different-looking calculations therefore share one representation. The prime valuations are coordinates for multiplication, rather than digits in positional notation: they do not turn ordinary addition of integers into coordinatewise addition.
Different intermediate splits lead to the same prime ingredients. Starting with gives and ; starting with gives and . Continuing to split the composite numbers produces the same multiset of prime factors: three twos, two threes, and one five. The factorization tree records choices in the calculation, while the prime factorization records the invariant result.
Figure 2.
Two factorization trees for give the same prime factorization
. Details.
The proof outline explains the uniqueness. Existence follows by splitting a composite number into smaller factors until only prime numbers remain. For uniqueness, Euclid's lemma says that a prime factor of one product must divide one factor of any other prime product equal to it. That factor must be the same prime number; cancel it and repeat. The crucial divisibility step appears in Book VII, Proposition 30 of Euclid's Elements. [ref]
The ancient text supplies specific precursors to the modern statement: Book VII, Proposition 31 establishes that every composite number has a prime factor, and Book IX, Proposition 14 excludes any new prime factor from the least common multiple of given prime numbers. These are the propositions being cited, rather than the complete modern exponent formulation of the fundamental theorem of arithmetic. [ref] [ref]
Excluding one from the prime numbers keeps uniqueness meaningful: otherwise would give different collections of supposed prime factors. For , the natural convention is the empty product, equal to one, with no prime factors and all prime valuations zero.
Integer Created 2026-09-24 Updated 2026-10-18
An integer is a whole number, positive, negative, or zero. The set of all integers is
The positive integers are ; the negative integers are their opposites . Zero is neither positive nor negative. The nonnegative integers include zero and all the positive integers. On a number line, consecutive integers are one unit apart, negative integers lie to the left of zero, and positive integers lie to its right. [ref]
The integers let counting describe changes in both directions. If a counter starts at and increases by five, it reaches : . Decreasing that result by four gives . In addition on the number line, the sign of the added integer chooses the direction and its absolute value gives the distance. The additive inverse reverses the change made by .
Figure 1. . Starting at , a change of ends at . A subsequent change of ends at . The arrows indicate changes; the labelled points indicate integers. Zero separates the negative and positive sides. Details.
The integers have closure under a binary operation for addition, subtraction and multiplication: whenever , the results , and are still integers. Together these operations give the integers their ring structure.[ref] For instance, , , and . General division has no such closure: is a rational number but not an integer. Some divisions are exact, such as ; division by zero is undefined. Euclidean division instead produces an integer quotient and a remainder, so retains the information that ordinary division puts into the fraction .
An integer is the value, whereas its written numeral is an encoding. The decimal representation and the binary representation name the same integer. Changing positional notation changes how that value is displayed and how calculations are organized; it does not change the value itself.
Karatsuba multiplication Created 2026-09-28 Updated 2026-10-13
Karatsuba multiplication is a divide-and-conquer algorithm for multiplication of integers. Splitting each operand into two blocks seems to require four smaller products; the Karatsuba three-product identity recovers the two cross terms together from just three products. Repeating that saving through recursion changes the time complexity from quadratic to , where counts digits in a fixed positional notation. The exponent is about : the benefit comes from the algorithm, even though each splitting step needs more addition and subtraction.
The Karatsuba worked multiplication below computes using , , and . The last operand already shows why “half-size” needs care: Karatsuba carry handling and Karatsuba recursion termination account for the extra digit. Karatsuba digit-operation cost states the operation model; Karatsuba practical crossover explains why the asymptotic saving alone does not select a useful threshold.
The original 1962 paper presents a binary numeral system automaton construction: its Theorem 2 and proof reduce multiplication to taking squares of numbers, then reduce a larger square of a number to three smaller squares of numbers. Its footnote explicitly addresses the extra digit in a sum of halves. The sequential time complexity analysis below uses a different operation model from that paper's automaton size and depth bounds, including its Boolean circuit realization without feedback.[ref]
Fix an integer base . Let have at most digits in positional notation, treating zero as one digit. For , set using the ceiling function, and . Euclidean division gives
where and . The floor function selects the high block; the remainder selects the low block. Both operands must use the same , including when their actual digit lengths differ.
For odd , the low block has digit positions and the high block has . Leading zero padding aligns a shorter operand without changing its integer value. Padding to a power-of-two length is optional: the split itself works for every . If power-of-two padding is used, the padded length is less than twice the original length, so it changes only a constant factor in the asymptotic analysis.
Compute exactly three smaller products,
The distributive property gives , so the cross coefficient is . Recombine by
The saving is that and are never separately multiplied. Multiplying a digit block by or shifts its position in positional notation; it does not require another general integer multiplication. Addition of the shifted results still requires Karatsuba carry handling.
Figure 1.
Three products recover the Karatsuba cross coefficient
. The arrows carry exact integer values for the Karatsuba worked multiplication. Only the three coloured product boxes require recursive multiplication; the lower boxes use subtraction, digit shifts and addition. Details.
A least-significant-digit radix sort processes numerical digits from smallest to largest place value. Fix integers and , and take complete sorting records whose sort keys satisfy . Use exactly positions in positional notation with radix , including leading zeros. At pass , apply a stable digit sort to the current array using
The floor function selects the integer quotient, and the remainder selects the current numerical digit. Move the complete sorting record, including its associated data. There are exactly passes, so this procedure terminates even for an empty array. The radix sort suffix invariant supplies its algorithm correctness argument.
For an original input, let the letters identify the attached data:
Here , , and leading zeros only align place values; represents the integer five. The exact pass ledger is:
After the units pass, the numerical digits are . The ties retain before and before before . This array is not yet ordered by its whole integer sort keys: still precedes . After the tens pass, the two-position suffixes are . In particular, now precedes : their tens numerical digits differ, so stable sorting does not require retaining their previous order. The hundreds pass produces the final sorted array, with all attached letters preserved.
Figure 1.
Three stable digit passes order successively longer suffixes
. Original decimal radix sort ledger. Each card carries an unchanged record label. Orange marks the numerical digit read in the current pass; green marks lower positions already processed. The suffix row beneath each pass shows precisely what is ordered, rather than claiming whole-key sortedness early. Details.
Normality and equidistribution under integer multiplication Created 2026-10-05 Updated 2026-10-14
A real number is a normal number in base exactly when its iterates under the integer multiplication map on the circle, , form an equidistributed sequence. Braces denote the fractional part. Multiplication by shifts the positional notation one digit to the left:
A length- word with base- integer value specifies the half-open interval , whose length is . Visiting that interval is exactly encountering that word at the next digit position. These digit intervals form arbitrarily fine grids, so their correct limiting visiting frequencies imply equidistribution on every interval. This converts a question about digits into one about a dynamical system. Bailey and Crandall develop this connection using equidistribution of the fractional parts of . [ref]
In base ten the word corresponds to . For Champernowne constant, counting the visits for gives precisely the occurrences of in its first digits. For , the base-two integer multiplication map on the circle instead alternates between and ; it never visits , the interval for . This two-point orbit is not an equidistributed sequence.
Normal number Created 2026-10-05 Updated 2026-10-13
A real number is normal in an integer base when every finite word of digits occurs in its positional notation with the same limiting digit block frequency as every other word of the same length. Write its fractional part as in base , using the expansion that is not eventually all digits when two expansions are possible. For every length and every word , the requirement is
Occurrences overlap: the word occurs twice in . There are possible words of length , so is the equal share for each. In a decimal representation, this means frequency for each digit, for each pair, and for each triple, continuing through every finite length. The definition agrees with that used by Copeland and Erdős in their work on explicit normal numbers. [ref]
The appeal is that a precise, deterministic real number can have the same limiting digit block frequencies as repeated draws from a uniform distribution on a finite set, with independence between draws. Champernowne constant is an explicit example. Normality is useful for studying digit distribution, but balanced digits alone establish only a simply normal number, and a finite sample cannot establish any of these infinite limits.
Émile Borel introduced normal numbers and established their prevalence in his 1909 paper applying probability to number theory; the stronger all-base statement is discussed under absolutely normal number. [ref]