in reply to Converting 2**54-1 to Binary

Perl 5.24.1 64-bit, for reference:

use warnings; use strict; for(51..66){ my $s = sprintf("%b", 2**$_-1); print "$_:" . length($s) . "\n"; }

Output (* denotation is added after the fact to represent where it starts to "break").:

51:51 52:52 53:53 54:54 55:55 56:56 57:57 58:58 59:59 60:60 61:61 62:63 * 63:64 * 64:64 * 65:64 * 66:64 *