【发布时间】:2013-02-26 09:16:19
【问题描述】:
我想将字符列表(表示为单个字节,即范围 [0, 255])转换为范围 [-128,127] 中的整数。我读过 Python 的模运算符 (%) 总是返回一个与分母符号相同的数字。
在 Python 中进行这种转换的正确方法是什么?
编辑
用ord 映射到[128,255] 的字符应该重新映射到[-128,-1],128 映射到-128,255 映射到-1。 (对于转换的逆我使用chr(my_int%256),但my_int 可以是负数。)
【问题讨论】:
-
我认为我们需要更多信息来了解您想要做什么。你输入的字符集是什么?总共有 256 个字符吗?它们有连续的序数吗?
-
@sberry 我编辑了我的问题以更好地反映我的意思。
-
输出数字何时为正数?
-
@christophe31 如果输入字符的
ord在 [0,127] 范围内,则输出为正数。
标签: python range modulo negative-number