Je ne suis pas sûr des spécificités de Ruby, mais vous devez essentiellement ajouter 2 ^ 64 si le nombre est négatif. Cela suppose que le nombre est stocké en tant que complément à 2, ce qui est presque certainement le cas.
Pour votre information, le système de complément à 2 traite essentiellement un nombre (disons) de 32 bits comme un nombre mod 2 ^ 32. Cela signifie que -1 est la même chose que 2^32 - 1 ou 0xFFFFFFFF. Cela s'avère très simple à utiliser au niveau matériel.