Nie jestem pewien co do specyfiki Rubiego, ale zasadniczo musisz dodać 2^64, jeśli liczba jest ujemna. To zakładając, że liczba jest przechowywana jako uzupełnienie do 2, co prawie na pewno jest.
FYI, system uzupełnień do dwójek, zasadniczo traktuje (powiedzmy) 32-bitową liczbę jako liczbę mod 2^32. Oznacza to, że -1 to to samo co 2^32 - 1 lub 0xFFFFFFFF. Okazuje się, że jest to naprawdę proste w użyciu na poziomie sprzętowym.