在Python中模拟uint32_t?

2024-01-06

我试图将一个函数从 C 移植到 Python 并使其易于调试,我希望它执行相同的 CPU 字大小限制操作,以便我可以比较中间结果。换句话说,我想要这样的东西:

a = UnsignedBoundedInt(32, 399999)
b = UnsignedBoundedInt(32, 399999)
print(a*b) # prints 1085410049 (159999200001 % 2**32)

实现此目的的最佳方法是什么,以便所有操作(包括按位移位)都可以像 C 中一样工作?


您可以尝试使用ctypes.uint_32为您绑定结果:

>>> import ctypes
>>> print ctypes.c_uint32(399999 * 399999).value
1085410049

或者你可以使用numpy http://www.numpy.org/的数据类型:

>>> import numpy as np
>>> a = np.uint32(399999)
>>> b = np.uint32(399999)
>>> a * b
__main__:1: RuntimeWarning: overflow encountered in uint_scalars
1085410049
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

在Python中模拟uint32_t? 的相关文章

随机推荐

  • 以编程方式构建 msbuild 15 项目

    我正在尝试构建一个使用 VS2017 创建的简单 C 7 类库项目 框架程序集的 MSBuild 已经过时了 所以我引用Microsoft Build Microsoft Build Engine and Microsoft Build F
  • 当按下回车键时如何转到下一个文本框?

    大家好 我正在学习 Javascript 我想问你们 当我按下键盘上的 Enter 按钮输入文本后 如何才能转到下一个文本框 谢谢 您可以使用 keyup 跟踪用户何时完成字符输入并e keyCode获取按下了哪个键 如果是 13 意味着进
  • 如何提高这段代码的性能呢?

    我正在尝试学习一些 Julia 在阅读了几个小时的手册后 我编写了以下代码 ie 200 ez zeros ie 1 hy zeros ie fdtd1d steps for n in 1 steps for i in 2 ie ez i
  • Doxygen:是否可以控制依赖图的方向?

    Up until today I d been using an ancient version 1 4 7 of doxygen dot and it typically drew graphs with a vertical orien
  • 比较 Msbuild 中的日期时间戳

    我正在尝试比较 msbuild 中的两个日期时间戳 我做了以下事情
  • Visual C++ __forceinline 奇怪的行为

    我试图强制 Visual C 编译器内联特定函数 我知道inline or forceinline只是一个建议 根据MSDN https msdn microsoft com en us library bw1hbe6y aspx 如果编译
  • 如何正确使用MouseMotionListener来按下JButtons?

    我制作了一个小型康威生命游戏程序 我已经完成了大约 80 我用过一个网格JButtons作为细胞 现在我有一个ButtonListener在每个按钮上 因此您必须通过单击各个按钮来逐一绘制您想要的图案 我希望能够快速单击并拖动鼠标并选择按钮
  • request.is_ajax() == 点击后退按钮时为 True?

    我有一个 Django 应用程序 它根据页面请求是否为 Ajax 返回不同的响应 当我查看页面 导航到其他地方 然后单击后退按钮时 请求将被呈现为就像request is ajax 是真的 因此 JSON 输出显示在浏览器中 而不是生成的
  • python 获取 json 键作为完整路径

    我想解析一个 JSON 文件并获取包含访问密钥所需的所有路径的完整列表 如果我们使用keys方法 我们会得到单个键的列表 但不会得到访问数据所需的分层键的完整列表 所以如果给定数据这样 data glossary title example
  • Elm 与 ClojureScript 相比如何?

    我已经到了这样的地步 使用 Backbone js 面向对象的 MVC 模式进行 GUI 编码变得非常复杂 并且正在考虑其他范例 MDV https github com Polymer TemplateBinding FRP http e
  • 为什么通过weak_ptr调用这么慢?

    我已阅读问题weak ptr 的性能损失是什么 https stackoverflow com questions 2748091 whats the performance penalty of weak ptr但我自己的测试显示出不同的
  • 单击圆圈时启动一个功能 - 传单

    我在里面画了一些圈JS如下 L circle 46 765735535841024 23 58344078063965 5 color blue addTo map bindPopup Description This is my desc
  • ScrollController 附加时的事件

    一旦我获得有关最大滚动范围的信息 我就会尝试显示一个小部件 如果我分配一个实例 我可以找到该数字ScrollController to the controller可滚动小部件的属性 我的问题是ScrollController在构建过程中附
  • 使用 jquery 切换 () 和 animate()

    这是一个超级简单的问题 我基本上知道我想要什么以及如何去做 我只是不确定在某个部分使用什么选择器 如果我去掉toggle 函数 动画效果很好 但它只能打开菜单 不能关闭菜单 这是我的 jquery 代码 document ready fun
  • 显示mongodb索引内容

    建立索引后 我想查看索引的内容 以 MonboDB 文档为例进行说明 id ObjectId name Warm Weather author Steve tags weather hot record april 那么标签字段上的索引将具
  • 复合文字中缺少类型

    type A struct B struct Some string Len int 简单的问题 如何初始化这个结构体 我想做这样的事情 a A B Some xxx Len 3 预计我会收到错误 missing type in compo
  • sql语句中的减法

    这个SQL语句合法吗 SELECT firstName lastName FROM Presidents WHERE endTerm beginTerm gt 4 我需要找到任期超过 4 年的总统 我可以在此查询中使用 吗 如果没有 什么是
  • 分布式事务完成。在新事务或 NULL 事务中登记此会话

    只是好奇是否有其他人遇到此特定错误并知道如何解决它 场景如下 我们有一个使用 Enterprise Library 的 ASP NET Web 应用程序 该应用程序运行在连接到 SQL Server 2008 群集后端的 Windows S
  • 为什么一个存储表示为 2 次提交?

    当存储一些更改时 Git 会创建两个单独的提交 分支上的 WIP 和 分支上的索引 git log graph all commit 98aac13303ca086580c1ec9ccba5fe26c2a8ef3c Merge 7d9978
  • 在Python中模拟uint32_t?

    我试图将一个函数从 C 移植到 Python 并使其易于调试 我希望它执行相同的 CPU 字大小限制操作 以便我可以比较中间结果 换句话说 我想要这样的东西 a UnsignedBoundedInt 32 399999 b Unsigned