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处理文件目录的相关方法
Oct 16 Python
Python利用Beautiful Soup模块修改内容方法示例
Mar 27 Python
Python实现的redis分布式锁功能示例
May 29 Python
对python模块中多个类的用法详解
Jan 10 Python
python如何实现从视频中提取每秒图片
Oct 22 Python
PyCharm搭建Spark开发环境的实现步骤
Sep 05 Python
详解Python 中sys.stdin.readline()的用法
Sep 12 Python
win7上tensorflow2.2.0安装成功 引用DLL load failed时找不到指定模块 tensorflow has no attribute xxx 解决方法
May 20 Python
python的help函数如何使用
Jun 11 Python
python 基于PYMYSQL使用MYSQL数据库
Dec 24 Python
python 中的jieba分词库
Nov 23 Python
使用Python解决图表与画布的间距问题
Apr 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
咖啡冲泡指南 咖啡有哪些制作方式 单品咖啡 意式咖啡
2021/03/06 冲泡冲煮
织梦模板标记简介
2007/03/11 PHP
用来解析.htgroup文件的PHP类
2012/09/05 PHP
php实现memcache缓存示例讲解
2013/12/04 PHP
php中静态类与静态变量用法的区别分析
2015/01/15 PHP
php 实现一个字符串加密解密的函数实例代码
2016/11/01 PHP
谈谈php对接芝麻信用踩的坑
2016/12/01 PHP
IE8 引入跨站数据获取功能说明
2008/07/22 Javascript
Javascript实现动态菜单添加的实例代码
2013/07/05 Javascript
谈谈JavaScript中function多重理解
2015/08/28 Javascript
如何解决ligerUI布局时Center中的Tab高度大小
2015/11/24 Javascript
jQuery通过改变input的type属性实现密码显示隐藏切换功能
2017/02/08 Javascript
jQuery+SpringMVC中的复选框选择与传值实例
2018/01/08 jQuery
vue2中使用less简易教程
2018/03/27 Javascript
学习JS中的DOM节点以及操作
2018/04/30 Javascript
vue使用pdfjs显示PDF可复制的实现方法
2018/12/14 Javascript
JS实现深度优先搜索求解两点间最短路径
2019/01/17 Javascript
JavaScript数据结构与算法之检索算法示例【二分查找法、计算重复次数】
2019/02/22 Javascript
JavaScript面向对象中接口实现方法详解
2019/07/24 Javascript
如何在vue-cli中使用css-loader实现css module
2021/01/07 Vue.js
使用相同的Apache实例来运行Django和Media文件
2015/07/22 Python
Python中time模块和datetime模块的用法示例
2016/02/28 Python
Linux 下 Python 实现按任意键退出的实现方法
2016/09/25 Python
Python numpy实现数组合并实例(vstack,hstack)
2018/01/09 Python
Python continue继续循环用法总结
2018/06/10 Python
HTML5 实现一个访问本地文件的实例
2012/12/13 HTML / CSS
英国游戏机和游戏购物网站:365games.co.uk
2018/06/18 全球购物
网上常见的一份Linux面试题(多项选择部分)
2014/09/09 面试题
优秀士兵个人事迹材料
2014/01/19 职场文书
大学生创业项目方案
2014/03/08 职场文书
学习雷锋活动总结
2014/04/29 职场文书
劳动竞赛口号
2014/06/16 职场文书
远程教育学习心得体会
2016/01/23 职场文书
乡镇团代会开幕词
2016/03/04 职场文书
MongoDB连接数据库并创建数据等使用方法
2021/11/27 MongoDB
Spring Boot 的创建和运行示例代码详解
2022/07/23 Java/Android