python 整数越界问题详解


Posted in Python onJune 27, 2019

python 内部自带大整数运算能力,整数运算不会溢出,只要内存足够,就oK

下面的例子演示了两个32位整数加法的情况(通过位运算实现),为了模拟溢出的效果,必须人工的进行位运算,~运算符除了求反,还是二进制的补运算符,运算过后的二进制数字按照补码解释,例如 ~(0011 1100) = (1100 0011) = -61

def getSum(a, b):
    """
    :type a: int
    :type b: int
    :rtype: int
    """
    MAX = 0X7fffffff
    MIN = 0X80000000
    while b != 0 :
     a,b = a^b,(a&b)<<1
     print(" a = {0:b},b = {1:b}".format(a,b))
    return a 
def getSum_(a, b):
    """
    :type a: int
    :type b: int
    :rtype: int
    """
    MAX = 0x7FFFFFFF
    MIN = 0x80000000
    mask = 0xFFFFFFFF
    while b != 0:
      a, b = (a ^ b) & mask, ((a & b) << 1) & mask
      print(type(a))
      print(" a = {0:b},b = {1:b}".format(a,b))
    return a if a <= MAX else ~(a^mask)
   
print(getSum_(-1,-1))
print(getSum(-1,1))

补充:python 循环内部添加多个条件判断会出现越界

1.循环遍历数组是,想添加条件修改时,只删除第一个

# -*- coding: utf-8 -*-

a=[11,22,33,44,55]

for i in a:
  if i == 11 or i ==22:
    a.remove(i)

for i in a:
  print(i)

'''
33
55
[Finished in 0.1s]
'''

2.应该引入被删除为一个数组

# -*- coding: utf-8 -*-

a=[11,22,33,44,55]

b=[]

for i in a:
  if i == 11 or i ==22:
    b.append(i)
for i in b:
  a.remove(i)
for i in a:
  print(i)

'''
33
44
55
[Finished in 0.1s]
'''

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Python 相关文章推荐
Python实现的Google IP 可用性检测脚本
Apr 23 Python
python计算牛顿迭代多项式实例分析
May 07 Python
梯度下降法介绍及利用Python实现的方法示例
Jul 12 Python
利用Python找出序列中出现最多的元素示例代码
Dec 08 Python
利用Python2下载单张图片与爬取网页图片实例代码
Dec 25 Python
Django 使用logging打印日志的实例
Apr 28 Python
Python 多线程不加锁分块读取文件的方法
Dec 11 Python
Python实现二维曲线拟合的方法
Dec 29 Python
Django框架模板用法入门教程
Nov 04 Python
PyQt5事件处理之定时在控件上显示信息的代码
Mar 25 Python
使用Django清空数据库并重新生成
Apr 03 Python
PyTorch 中的傅里叶卷积实现示例
Dec 11 Python
在Python中合并字典模块ChainMap的隐藏坑【推荐】
Jun 27 #Python
python 反编译exe文件为py文件的实例代码
Jun 27 #Python
Python 使用PyQt5 完成选择文件或目录的对话框方法
Jun 27 #Python
Python提取转移文件夹内所有.jpg文件并查看每一帧的方法
Jun 27 #Python
对python3 sort sorted 函数的应用详解
Jun 27 #Python
python 批量解压压缩文件的实例代码
Jun 27 #Python
python opencv 图像拼接的实现方法
Jun 27 #Python
You might like
我的群发邮件程序
2006/10/09 PHP
php urlencode()与urldecode()函数字符编码原理详解
2011/12/06 PHP
Laravel给生产环境添加监听事件(SQL日志监听)
2017/06/19 PHP
PHP实现的分页类定义与用法示例
2017/07/05 PHP
PHP常见的序列化与反序列化操作实例分析
2019/10/28 PHP
IE与FireFox的兼容性问题分析
2007/04/22 Javascript
动态修改DOM 里面的 id 属性的弊端分析
2008/09/03 Javascript
基于jquery的让textarea自适应高度的插件
2010/08/03 Javascript
JQuery 应用 JQuery.groupTable.js
2010/12/15 Javascript
js 三级关联菜单效果实例
2013/08/13 Javascript
javascript匿名函数实例分析
2014/11/18 Javascript
jQuery的ready方法详解
2014/11/27 Javascript
JavaScript前端开发之实现二进制读写操作
2015/11/04 Javascript
Prototype框架详解
2015/11/25 Javascript
日常收集整理的JavaScript常用函数方法
2015/12/10 Javascript
JS使用正则表达式过滤多个词语并替换为相同长度星号的方法
2016/08/03 Javascript
canvas绘制七巧板
2017/02/03 Javascript
详解JavaScript 中getElementsByName在IE中的注意事项
2017/02/21 Javascript
jQury Ajax使用Token验证身份实例代码
2017/09/22 Javascript
JavaScript创建防篡改对象的方法分析
2018/12/30 Javascript
Nuxt.js 静态资源和打包的操作
2020/11/06 Javascript
[45:25]OG vs EG 2019国际邀请赛淘汰赛 胜者组 BO3 第一场 8.22
2019/09/05 DOTA
python实现判断数组是否包含指定元素的方法
2015/07/15 Python
一篇文章快速了解Python的GIL
2018/01/12 Python
Tensorflow分类器项目自定义数据读入的实现
2019/02/05 Python
Python连接HDFS实现文件上传下载及Pandas转换文本文件到CSV操作
2020/06/06 Python
python使用nibabel和sitk读取保存nii.gz文件实例
2020/07/01 Python
C#里面可以避免一个类被其他类继承么?如何?
2013/09/26 面试题
大唐面试试题(CPU,UNIX等等)
2012/01/11 面试题
机械专业毕业生推荐信范文
2013/11/25 职场文书
好书伴我成长演讲稿
2014/05/14 职场文书
我的长征观后感
2015/06/09 职场文书
圣贤教育改变命运观后感
2015/06/16 职场文书
新学期家长寄语2016
2015/12/03 职场文书
推广普通话宣传标语口号
2015/12/26 职场文书
用JS写一个发布订阅模式
2021/11/07 Javascript