我理解通过使用内置方法将int转换为字符串很容易str().然而,究竟发生了什么?我理解它可能指向__str__int对象的
方法,但它如何计算"非正式"字符串表示?试着看源头而没找到领先; 任何帮助赞赏.
在内部,Int 对象存储为 2 的补码表示形式,就像在 C 中一样(好吧,如果范围值允许,则这是正确的,如果它不再适合,Python 可以自动将其转换为其他表示形式)。
现在要获取字符串表示形式,您必须将其更改为字符串(字符串只是一些不可变的字符列表)。该算法是简单的数学计算:将数字除以 10(整数除法)并保留余数,将其添加到字符代码“0”。你就得到了个位数字。继续计算除法的结果,直到除法的结果为零。就这么简单。
这种方法适用于任何整数表示,但当然,如果可能的话,调用 ltoa C 库函数或等效的 C 代码来执行此操作比在 python 中进行编码更有效。
| 归档时间: |
|
| 查看次数: |
107 次 |
| 最近记录: |