繁体   English   中英

如何在python的32位环境中检查整数

How to check an integer in 32 bit environment in python

提示:本站收集StackOverFlow近2千万问答,支持中英文搜索,鼠标放在语句上弹窗显示对应的参考中文或英文, 本站还提供   中文繁体   英文版本   中英对照 版本,有任何建议请联系yoyou2525@163.com。

我正在解决 leetcode 问题7 反向整数

带条件Assume the environment does not allow you to store 64-bit integers (signed or unsigned).

下面是我的代码

class Solution:
    def reverse(self, x: int) -> int:
        if x
        val = 0
        pro, x = (1,x) if x>0 else (-1, -x)
        flag = False
        while x:
            val=val*10+x%10
            x//=10
            if val.bit_length()>31:
                flag = True
                break
        return 0 if flag else val*pro

代码工作正常并解决了这个挑战。

但我仍然有疑问,它与整数溢出有关。

考虑到一个严格的 32 位环境,我们需要在该范围内反转一个数字,所以如果我们有一个不适合 32 位范围的数字的反转,那么它会流出或不存储(不知道正确的术语,在这里纠正我)那么我们如何检查那部分?

简单来说(我假设),在 32 位系统中val.bit_length()应该限制​​为 31 位,并且添加到 val 的新 int 不会向它添加任何值并且它保持不变。

1 个回复

老实说,有点难以理解您的要求。 Python 的 int 存储在堆上(至少在 CPython 中),这意味着只要有足够的空间来存储它,就没有 int 大小限制。 它是在内部实施的。 请参阅Python 如何管理 int 和 long? 虽然如果你需要真正的int32 ,你可以从mypy库中获取它。

相比之下,在 C 中 int 是固定的。 如果您尝试存储超出边界的值,则会发生整数溢出。 C 标准将这种情况定义为未定义行为(意味着任何事情都可能发生)。

1 64位环境中32位整数的性能(C ++)

我们已经开始编译一些应用程序的32位和64位版本。 我项目中的一个人鼓励我们将所有32位整数切换为64位等值,即使这些值保证适合32位空间。 例如,我有一个保证永远不会超过10,000的值,我将其存储在unsigned int中。 他的建议是将其切换为size_t,以便在64位环境中扩展到 ...

2 64位环境中的32位办公组件

我们正在将一些32位C#Windows应用程序升级到64位。 当前使用了一些Office互操作组件(例如Microsoft.Office.Interop.Excel )。 如果我们还在64位环境中使用相同的组件,是否会引起任何问题? ...

4 如何在ada83环境中打印整数

我想在Ada 83中打印整数。目前,我仅使用'with Text_IO'和'use Text_IO'。 我不想使用Integer'Image选项进行打印。 我想在ada83中使用Integer_Text_IO。 请帮助我的语法。 我正在使用以下代码: 我正在“在实例化“ Nu ...

2014-04-25 23:11:13 1 474   ada
6 在64位环境中执行32位目标文件

我为arm-gcc创建了一个交叉编译工具链,为arm-elf目标配置了binutils,newlib,gcc和gdb。 我遇到的问题是,当我在Mac上使用arm-elf-gcc编译程序时,它会生成32位可执行文件,并且无法在64位环境中执行。 避免这种情况的最简单方法是什么? 我可以将 ...

8 在x64环境中从64位寄存器中保存32位

我回到了我之前的主题,但只有几个想法。 我想在x64的汇编程序中以矩阵形式存储一个32位整数。 比方说我有: 通常我只是通过这样做来计算我想要保存的位置: 我的问题是:如何将rcx对齐以仅保存4个字节? 或者我可能只保存4个字节,并且没有机会覆盖旁边的其他整数来覆盖? ...

9 如何在python3环境中执行scons?

我需要在 scons 脚本中导入 python3 脚本。 (我使用 scons v3.0.1.7) 有没有办法用 python 3 执行 scons ? 官方 scons 网站说 这将是第一个支持早于 2.7 和 3.5+ 的 Python 版本的版本 像scons -python /u ...

10 32位环境中c中指针的大小[重复]

这个问题已经在这里有了答案 : 5年前关闭。 指针大小可以在数据指针和函数指针之间变化吗? (6个答案) 如果数据类型不是整数,大小可 ...

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2022 STACKOOM.COM