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实现2014火车票查询代码分享
Jan 10 Python
Python升级提示Tkinter模块找不到的解决方法
Aug 22 Python
Python Web框架Flask中使用百度云存储BCS实例
Feb 08 Python
Python with语句上下文管理器两种实现方法分析
Feb 09 Python
pyqt5的QWebEngineView 使用模板的方法
Aug 18 Python
python使用Matplotlib画饼图
Sep 25 Python
Jacobi迭代算法的Python实现详解
Jun 29 Python
详解PyTorch中Tensor的高阶操作
Aug 18 Python
python模块常用用法实例详解
Oct 17 Python
python ftplib模块使用代码实例
Dec 31 Python
pytorch下的unsqueeze和squeeze的用法说明
Feb 06 Python
python单例模式的应用场景实例讲解
Feb 24 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
支持oicq头像的留言簿(二)
2006/10/09 PHP
php中的PHP_EOL换行符详细解析
2013/10/26 PHP
php define的第二个参数使用方法
2013/11/04 PHP
CI框架常用经典操作类总结(路由,伪静态,分页,session,验证码等)
2016/11/21 PHP
PHP命名空间namespace及use的简单用法分析
2018/08/03 PHP
JavaScript 应用技巧集合[推荐]
2009/08/30 Javascript
JavaScript日期时间格式化函数分享
2014/05/05 Javascript
14款NodeJS Web框架推荐
2014/07/11 NodeJs
javascript的列表切换【实现代码】
2016/05/03 Javascript
AngularJS 限定$scope的范围实例详解
2017/06/23 Javascript
React-Native之定时器Timer的实现代码
2017/10/04 Javascript
浅析从vue源码看观察者模式
2018/01/29 Javascript
如何使用electron-builder及electron-updater给项目配置自动更新
2018/12/24 Javascript
Vue $emit()不能触发父组件方法的原因及解决
2020/07/28 Javascript
JS实现炫酷轮播图
2020/11/15 Javascript
[06:04]DOTA2英雄梦之声Vol19卓尔游侠
2014/06/20 DOTA
python批量下载图片的三种方法
2013/04/22 Python
在Python中使用列表生成式的教程
2015/04/27 Python
python实现unicode转中文及转换默认编码的方法
2017/04/29 Python
pygame游戏之旅 按钮上添加文字的方法
2018/11/21 Python
python实现遍历文件夹图片并重命名
2020/03/23 Python
Python依赖包迁移到断网环境操作
2020/07/13 Python
美国Rue La La闪购网站:奢侈品、中高档品牌限时折扣
2016/10/19 全球购物
麦当劳印度网上订餐:McDelivery
2020/03/16 全球购物
一份软件工程师的面试试题
2016/02/01 面试题
儿科护理实习自我鉴定
2013/09/19 职场文书
大学辅导员事迹材料
2014/02/05 职场文书
青年文明号复核材料
2014/02/11 职场文书
工程建设实施方案
2014/03/14 职场文书
毕业生就业推荐表自我鉴定
2014/03/20 职场文书
汽车服务工程专业自荐信
2014/09/02 职场文书
新学期红领巾广播稿
2014/10/04 职场文书
教师年度考核个人总结
2015/02/12 职场文书
借条格式范本
2015/05/25 职场文书
导游词之重庆钓鱼城
2019/09/19 职场文书
WinServer2012搭建DNS服务器的方法步骤
2022/06/10 Servers