Only 17% of all 64-bit Integers are products of two 32-bit integers
A recent analysis reveals that only 17% of all 64-bit integers can be expressed as the product of two 32-bit integers. This finding has implications for the design of hash functions, particularly in ensuring uniform distribution of hash values. The research highlights the challenges of computing such products and the mathematical principles involved in understanding their distribution.
- ▪Only 17% of all 64-bit integers are products of two 32-bit integers.
- ▪The analysis is relevant for designing hash functions that require uniform distribution of values.
- ▪Computing pairs of integers from their product involves complex mathematical processes.
Opening excerpt (first ~120 words) tap to expand
Only 17% of all 64-bit Integers are products of two 32-bit integers In software programming, the product between two integers is often computed to a fixed number of bits with overflow. Consider 8-bit integers. If you multiply 127 by 127, you get back the number 1 as an 8-bit unsigned integer, with an overflow. The actual full product is 16129. To represent 16129, you typically use 16 bits of precision. Thus we have the notion of the full product. The full product of two 32-bit integers is typically represented using 64 bits. The question that preoccupied me is what fraction of all 64-bit integers can be written as the product of two 32-bit integers.
…
Excerpt limited to ~120 words for fair-use compliance. The full article is at Daniel Lemire's blog.