【问题标题】:Dealing with uint64_t length conversion to Py_ssize_t处理 uint64_t 长度转换为 Py_ssize_t
【发布时间】:2017-06-05 20:43:11
【问题描述】:

我正在使用 cython 读取包含 unsigned long long 类型的 length 字段的二进制数据格式。

读取该值后,我将其转换为Py_ssize_t 变量,以返回用于索引的python 空间。

由于Py_ssize_t是有符号的,它的最大正范围必须小于最大值unsigned long long

有没有一种通用的方法来检查我读取的值是否可以存储在Py_ssize_t 中?或者换一种说法:有没有办法获得Py_ssize_t的最大正值?

【问题讨论】:

    标签: python indexing types cython


    【解决方案1】:

    你可以和sys.maxsize比较,这是Py_ssize_t可以取的最大值(取自this answer

    【讨论】:

      猜你喜欢
      • 2021-09-12
      • 2020-08-05
      • 2017-06-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-11-19
      • 2023-04-01
      • 1970-01-01
      相关资源
      最近更新 更多