Re: Unsigned 64 bit integer to numeric
От | Andrew Gierth |
---|---|
Тема | Re: Unsigned 64 bit integer to numeric |
Дата | |
Msg-id | 87k17cb9ho.fsf@news-spur.riddles.org.uk обсуждение исходный текст |
Ответ на | Unsigned 64 bit integer to numeric (Dmitry Dolgov <9erthalion6@gmail.com>) |
Ответы |
Re: Unsigned 64 bit integer to numeric
|
Список | pgsql-hackers |
>>>>> "Dmitry" == Dmitry Dolgov <9erthalion6@gmail.com> writes: Dmitry> Hi, Dmitry> Probably a simple question, but I don't see a simple answer so Dmitry> far. In one extension I want to convert uint64 into a numeric Dmitry> to put it eventually into a jsonb object. As far as I see in Dmitry> numeric.c there are functions only for signed int64. Is there a Dmitry> way to achive this with uint64 (without duplicating significant Dmitry> part of numeric implementation in the extension)? Sure. Flip the top bit; convert the value as if signed; then subtract -(2^63) from the result. (Easier to subtract -(2^63) than to add 2^63, since the former can itself be represented in a signed int64 for easy conversion to numeric.) -- Andrew (irc:RhodiumToad)
В списке pgsql-hackers по дате отправления: