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 相关文章推荐
使用wxpython实现的一个简单图片浏览器实例
Jul 10 Python
python比较两个列表大小的方法
Jul 11 Python
python中利用Future对象回调别的函数示例代码
Sep 07 Python
简单介绍python封装的基本知识
Aug 10 Python
python实现文件批量编码转换及注意事项
Oct 14 Python
Python使用指定字符长度切分数据示例
Dec 05 Python
python logging添加filter教程
Dec 24 Python
浅析Django中关于session的使用
Dec 30 Python
对python中return与yield的区别详解
Mar 12 Python
Tensorflow tf.tile()的用法实例分析
May 22 Python
Python爬虫自动化爬取b站实时弹幕实例方法
Jan 26 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
PHP的FTP学习(一)
2006/10/09 PHP
php 文件上传代码(限制jpg文件)
2010/01/05 PHP
PHP经典面试题之设计模式(经常遇到)
2015/10/15 PHP
PHP 与 UTF-8 的最佳实践详细介绍
2017/01/04 PHP
javascript中实现兼容JAVA的hashCode算法代码分享
2020/08/11 Javascript
简单介绍JavaScript中字符串创建的基本方法
2015/07/07 Javascript
jquery制作图片时钟特效
2020/03/30 Javascript
Javascript中的数组常用方法解析
2016/06/17 Javascript
nodejs使用express创建一个简单web应用
2017/03/31 NodeJs
微信小程序实现城市列表选择
2018/06/05 Javascript
使用Angular material主题定义自己的组件库的配色体系
2019/09/04 Javascript
js中的面向对象之对象常见创建方法详解
2019/12/16 Javascript
vue使用vant中的checkbox实现全选功能
2020/11/17 Vue.js
[01:08]DOTA2次级职业联赛 - Wings 战队宣传片
2014/12/01 DOTA
浅析python中的分片与截断序列
2016/08/09 Python
python操作mysql数据库
2017/03/05 Python
Django 导出 Excel 代码的实例详解
2017/08/11 Python
python绘制简单折线图代码示例
2017/12/19 Python
详解TensorFlow在windows上安装与简单示例
2018/03/05 Python
对Python之gzip文件读写的方法详解
2019/02/08 Python
python 一个figure上显示多个图像的实例
2019/07/08 Python
提升python处理速度原理及方法实例
2019/12/25 Python
Python常用模块sys,os,time,random功能与用法实例分析
2020/01/07 Python
解决python gdal投影坐标系转换的问题
2020/01/17 Python
python访问hdfs的操作
2020/06/06 Python
解决HTML5手机端页面缩放的问题
2017/10/27 HTML / CSS
MIKI HOUSE美国官方网上商店:日本领先的婴儿和儿童高级时装品牌
2020/06/21 全球购物
金智子午JAVA面试题
2015/09/04 面试题
会计实习自我鉴定
2013/12/04 职场文书
机关单位工作失职检讨书
2014/11/20 职场文书
2015年大学生入党自荐书
2015/03/24 职场文书
mysql在项目中怎么选事务隔离级别
2021/05/25 MySQL
灵能百分百第三季什么时候来?
2022/03/15 日漫
python3 字符串str和bytes相互转换
2022/03/23 Python
python装饰器代码解析
2022/03/23 Python
JavaScript圣杯布局与双飞翼布局实现案例详解
2022/08/05 Javascript