Python中的无符号数

Python中的无符号数,python,Python,作为密码学课程的一部分,我遇到了很多128位或更多的大数字。虽然我的课程基本上是数学的,但并没有太多地涉及该领域的实现方面,我正试图在空闲时间实现一些简单的算法 显然,第一个绊脚石是找出不同的方法来表示大数128位或模式。到目前为止,我已经使用了Python的ctype,它提供了高达64位的无符号整数 例如:如何处理超过64位的密钥/数据块?例如,类似于: A56BABCD00000000FFFFFFFFABCDEF01 如有任何意见,将不胜感激 Python已经支持任意长的整数。在命令行

作为密码学课程的一部分,我遇到了很多128位或更多的大数字。虽然我的课程基本上是数学的,但并没有太多地涉及该领域的实现方面,我正试图在空闲时间实现一些简单的算法

显然,第一个绊脚石是找出不同的方法来表示大数128位或模式。到目前为止,我已经使用了Python的ctype,它提供了高达64位的无符号整数

例如:如何处理超过64位的密钥/数据块?例如,类似于:

  A56BABCD00000000FFFFFFFFABCDEF01

如有任何意见,将不胜感激

Python已经支持任意长的整数。在命令行中尝试以下操作:

>>> 0xA56BABCD00000000FFFFFFFFABCDEF01
219881679602189885463659373782260117249L

你读过关于Python的书吗?它已经支持长算术。python说您的数字是用十进制表示法写成的21988167960218988546365937822617249L。@m0nhawk我在看python对无符号数字的支持,我认为长算术不支持这一点。因此我使用了ctypes模块。@feverStream在这种情况下,unsigned是什么意思?你需要“未签名”的哪些特殊属性?对于反对者和接近投票的人:这个问题是可以补救的,基于最新的评论,尽管它可能是重复的;我现在没有时间仔细检查@feverDream:您需要根据固定的位宽度和故意截断溢出和下溢来构建这个问题。如果你不重写这个问题,你似乎不知道你在说什么。仅仅将标题改为无符号数字可能是不够的。你需要认真修改课文。