【发布时间】:2013-12-22 14:28:02
【问题描述】:
我有一个 64 位无符号整数需要在 PostgreSQL 中表示。我将其分解为两个 32 位无符号整数,high 和 low。为了让 Postgres 接受它,我需要将 high 和 low 转换为表示有符号 64 位整数的字符串。
如何将两个 32 位无符号整数转换为以十进制表示有符号 64 位整数的字符串?
【问题讨论】:
-
high.toString() + low.toString()?
-
@MattBurland 否。因为它不是
1→1映射,而且它可能超过 64 位有符号的最大值。 -
低和高分别代表什么?我不明白为什么你不能像@MattBurland 建议的那样连接两者
-
@AndrewWalters 高位是高 32 位,低位是低 32 位。想一想。
''+(Math.pow(2, 32)-1)+(Math.pow(2, 32)-1)= “42949672954294967295”。 42949672954294967295 大于 2^63-1,即有符号整数的最大值。
标签: javascript node.js postgresql