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 django 实现验证码的功能实例代码
May 18 Python
Python中的pygal安装和绘制直方图代码分享
Dec 08 Python
使用Numpy读取CSV文件,并进行行列删除的操作方法
Jul 04 Python
Python内置random模块生成随机数的方法
May 31 Python
Python pandas.DataFrame调整列顺序及修改index名的方法
Jun 21 Python
python获取当前文件路径以及父文件路径的方法
Jul 10 Python
python tkinter实现彩球碰撞屏保
Jul 30 Python
Django结合ajax进行页面实时更新的例子
Aug 12 Python
python flask中动态URL规则详解
Nov 22 Python
在keras里实现自定义上采样层
Jun 28 Python
python文件编写好后如何实践
Jul 07 Python
python rsa-oaep加密的示例代码
Sep 23 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
从MySQL数据库表中取出随机数据的代码
2007/09/05 PHP
php XPath对XML文件查找及修改实现代码
2011/07/27 PHP
JavaScript定义类或函数的几种方式小结
2011/01/09 Javascript
Raphael一个用于在网页中绘制矢量图形的Javascript库
2013/01/08 Javascript
jQuery中focus事件用法实例
2014/12/26 Javascript
javascript实现uploadify上传格式以及个数限制
2015/11/23 Javascript
javascript实现根据汉字获取简拼
2016/09/25 Javascript
不间断循环滚动效果的实例代码(必看篇)
2016/10/08 Javascript
微信开发 js实现tabs选项卡效果
2016/10/28 Javascript
jQuery的ajax中使用FormData实现页面无刷新上传功能
2017/01/16 Javascript
详解基于 Nuxt 的 Vue.js 服务端渲染实践
2017/10/24 Javascript
Vue-Router的使用方法
2018/09/05 Javascript
在vue-cli的组件模板里使用font-awesome的两种方法
2018/09/28 Javascript
angular4中引入echarts的方法示例
2019/01/29 Javascript
Angular利用HTTP POST下载流文件的步骤记录
2020/07/26 Javascript
js实现简单的无缝轮播效果
2020/09/05 Javascript
swiperjs实现导航与tab页的联动
2020/12/13 Javascript
vue+openlayers绘制省市边界线
2020/12/24 Vue.js
[48:48]2014 DOTA2国际邀请赛中国区预选赛 SPD-GAMING VS Dream TIME
2014/05/21 DOTA
[38:21]2018DOTA2亚洲邀请赛3月30日 小组赛A组 LGD VS Newbee
2018/03/31 DOTA
Python分支结构(switch)操作简介
2018/01/17 Python
Python实现的简单排列组合算法示例
2018/07/04 Python
python中字典按键或键值排序的实现代码
2019/08/27 Python
详解pycharm连接不上mysql数据库的解决办法
2020/01/10 Python
基于python代码批量处理图片resize
2020/06/04 Python
使用Keras构造简单的CNN网络实例
2020/06/29 Python
python 实现图片批量压缩的示例
2020/12/18 Python
可打印的优惠券、杂货和优惠券代码:Coupons.com
2018/06/12 全球购物
Nike法国官方网站:Nike.com FR
2018/07/22 全球购物
用缩写的指针比较"if(p)" 检查空指针是否可靠?如果空指针的内部表达不是0会怎么样?
2014/01/05 面试题
一些Unix笔试题和面试题
2012/09/25 面试题
小学假期安全广播稿
2014/09/28 职场文书
2014年工作总结与下年工作计划
2014/11/27 职场文书
2019年特色火锅店的创业计划书模板
2019/08/28 职场文书
详解Laravel框架的依赖注入功能
2021/05/27 PHP
详细聊聊Oracle表碎片对性能有多大的影响
2022/03/19 Oracle