PostgreSQL
 sql >> Datenbank >  >> RDS >> PostgreSQL

Verwenden von Ruby zum Konvertieren von vorzeichenlosen Ganzzahlen, die als vorzeichenbehaftet gespeichert sind, zurück in den ursprünglichen Wert

Ich bin mir der Ruby-Besonderheiten nicht sicher, aber im Wesentlichen müssen Sie 2 ^ 64 hinzufügen, wenn die Zahl negativ ist. Das setzt voraus, dass die Zahl als Zweierkomplement gespeichert ist, was mit ziemlicher Sicherheit der Fall ist.

FYI, das 2er-Komplementsystem, behandelt im Wesentlichen eine (sagen wir) 32-Bit-Zahl als Zahl mod 2 ^ 32. Dies bedeutet, dass -1 dasselbe ist wie 2^32 - 1 oder 0xFFFFFFFF. Dies erweist sich auf Hardwareebene als sehr einfach zu verwenden.