my $n = 9007199254740991; my( $hi, $lo ) = ( int( $n / 2**32 ), $n % 2**32 ); printf "%b%032b\n", $hi, $lo; 11111111111111111111111111111111111111111111111111111 $n--; ( $hi, $lo ) = ( int( $n / 2**32 ), $n % 2**32 ); printf "%b%032b\n", $hi, $lo; 11111111111111111111111111111111111111111111111111110 $n+=2; ( $hi, $lo ) = ( int( $n / 2**32 ), $n % 2**32 ); printf "%b%032b\n", $hi, $lo; 100000000000000000000000000000000000000000000000000000