Tôi không chắc về các chi tiết cụ thể của Ruby, nhưng về cơ bản bạn cần thêm 2 ^ 64 nếu số âm. Điều đó giả sử rằng số được lưu trữ dưới dạng phần bù của 2, điều này gần như chắc chắn là như vậy.
FYI, hệ thống bổ sung của 2, về cơ bản nó coi một số 32-bit (giả sử) như một số mod 2 ^ 32. Điều này có nghĩa là -1 giống như 2 ^ 32 - 1 hoặc 0xFFFFFFFF. Điều này thực sự đơn giản để sử dụng ở cấp độ phần cứng.