有符号长python随机数gen

2024-05-23 15:05:32 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在尝试根据Comcast货币跟踪规范生成span id。在

https://github.com/Comcast/money/wiki

span-id应该是signed long int表示

以下是查询

  1. “long int”代表64位还是32位
  2. 我使用以下函数来生成“span id”,但在中央服务器中使用的解析器未能显示“超出long范围(-9223372036854775808-9223372036854775807)”

random.getrandbits(64);

我很困惑long int应该是32 bit还是{}?在


Tags: 函数httpsgithub规范comidwiki货币
2条回答

如果理解错了,有人可以纠正我

“总是”random.getrandombits(64)“将产生一个输出

无符号64位数字(0到2**64-1)

可能的解决方案是生成有符号long int(-(2^63)到(2^63)-1)

在random.getrandombits(64)-2**63

谢谢你@蝙蝠侠

它告诉您范围的事实表明它是一个64位整数。
[-9223372036854775808,9223372036854775807]=[-2^63,2^63-1]

getrandbits不产生有符号整数。一、 你正在创建0到18446744073709551616之间的整数。在

尝试getrandbits(64) - 2**63

相关问题 更多 >