zlacker

[return to "The largest number representable in 64 bits"]
1. doogli+ks[view] [source] 2026-02-02 20:40:31
>>tromp+(OP)
I'm going to agree with the downvoted people and say that this sort of approach is largely meaningless if you allow arbitrary mappings. IMO the most reasonable mathematical formulation given the structure of the integers (in the sense of e.g. Peano) is that to truly represent an integer you have to represent zero and each other representable number has a representable predecessor, i.e. to say you can represent 5 you need 0,1,2,3,4, and 5 to be representable. By a straightforward counting argument, 2^64-1 is then the largest representable number, in other words the obvious thing is right.
◧◩
2. tromp+Bt[view] [source] 2026-02-02 20:46:17
>>doogli+ks
As I've replies several times before, we don't allow arbitrary mappings. We allow computable mappings but consider only obviously non-cheating languages like Turing machines or lambda calculus or Linux's bc or any existing programming language, that are not geared toward outputting insanely large numbers.
◧◩◪
3. geoffs+GD[view] [source] 2026-02-02 21:33:10
>>tromp+Bt
It's not "the largest representable number" because you're not representing numbers in any rigorous sense. If I give you 64 bits, you can't tell me what number those bits represent (first, because the rules of the game are ambiguous - what if I give you 8 bytes that are a valid program in two different languages; and second, because even if you made the rules precise, you don't know which bitstrings correspond to programs that halt). And if I give you a number, you can't tell me which 64 bits represent that number or even if the number is representable, and that's true even for small numbers and even if I give you unbounded time.

It seems far more natural to say that you're representing programs rather than numbers. And you're asking, what is the largest finite output you can get from a program in today's programming languages that is 8 bytes or less. Which is also fun and interesting!

◧◩◪◨
4. tromp+JJ[view] [source] 2026-02-02 21:57:45
>>geoffs+GD
> If I give you 64 bits, you can't tell me what number those bits represent

You have to tell me the (non-cheating) programming language that the 64 bit program is written in as well.

> And you're asking, what is the largest finite output you can get from a program in today's programming languages that is 8 bytes or less.

That's what the post ends up saying, after first discussing conventional representations, and then explicitly widening the representations to programs in (non-cheating) languages.

[go to top]