我正在尝试根据Comcast
货币跟踪规范生成span id。在
https://github.com/Comcast/money/wiki
span-id
应该是signed long int
表示
以下是查询
- “long int”代表64位还是32位
- 我使用以下函数来生成“span id”,但在中央服务器中使用的解析器未能显示“超出long范围(-9223372036854775808-9223372036854775807)”
random.getrandbits(64);
我很困惑long int应该是32 bit
还是{}?在
Tags:
如果理解错了,有人可以纠正我
“总是”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
相关问题 更多 >
编程相关推荐