sql >> Base de Datos >  >> RDS >> PostgreSQL

Uso de ruby ​​para convertir enteros sin firmar almacenados como firmados al valor original

No estoy seguro de los detalles de Ruby, pero esencialmente necesita agregar 2^64 si el número es negativo. Eso suponiendo que el número se almacene como complemento a 2, lo cual es casi seguro.

FYI, el sistema de complemento a 2, esencialmente trata un (digamos) número de 32 bits como un número mod 2^32. Esto significa que -1 es lo mismo que 2^32 - 1 o 0xFFFFFFFF. Esto resulta ser realmente simple de usar a nivel de hardware.