python数组越界_python 整数越界问题详解
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]
'''
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持我们。
时间: 2019-06-27
python数组越界_python 整数越界问题详解相关推荐
- python 32bit数据结构_python实现bitmap数据结构详解
bitmap是很常见的算法设计,例如用以Bloom Filter中:用以无反复整数金额的排列这些.bitmap一般根据数组来完成,数组中每一个原素能够当做是一系列二进制数,全部元素组成更高的二进制结合 ...
- python输出命令_Python输出各行命令详解
创建main.py文件并粘贴下面代码 点击右键运行Debug 'main'后,下方的Debug窗口会出现ImportError: No module named 'bottle'这样的提示,提示导入b ...
- python md5加密_Python MD5加密实例详解
详解Python MD5加密 Python 3下MD5加密 # 由于MD5模块在python3中被移除 # 在python3中使用hashlib模块进行md5操作 import hashlib # 待 ...
- python 相对导入_Python相对导入机制详解
Google FEB 26TH, 2015 Python相对导入机制详解 这个答案能解释大多关于 relative import,即相对导入的疑惑,讲解十分详尽清晰,算是 SO 上被低估的一个答案. ...
- 简述python文件操作_Python 文件操作的详解及实例
Python 文件操作的详解及实例 一.文件操作 1.对文件操作流程 打开文件,得到文件句柄并赋值给一个变量 通过句柄对文件进行操作 关闭文件 现有文件如下: 昨夜寒蛩不住鸣. 惊回千里梦,已三更. ...
- python 类 实例_Python类的实例详解
类(class)是一个用户自定义类型,开发者可以将其实例化以获得实例(instance),实例表示这种类型的对象.在Python中,类就是对象,开发者可以像对其他对象那样处理函数,可以在调用函数时传递 ...
- python pdb 安装_Python调试工具pdb使用详解
Python调试工具pdb使用详解 [简介] pdb是Python自带的一个包,为python程序提供了一种交互的源代码调试功能. [使用方法] 1. 使用命令: python -m pdb xxx. ...
- python queue模块_Python的queue模块详解
Queue Queue是python标准库中的线程安全的队列(FIFO)实现,提供了一个适用于多线程编程的先进先出的数据结构,即队列,用来在生产者和消费者线程之间的信息传递 基本FIFO队列 clas ...
- python 字典程序_Python 字典(Dictionary)操作详解
Python字典是另一种可变容器模型,且可存储任意类型对象,如字符串.数字.元组等其他容器模型. 一.创建字典 字典由键和对应值成对组成.字典也被称作关联数组或哈希表.基本语法如下: dict = { ...
最新文章
- php while循环控制实例讲解
- Sql Server 2005 ROW_NUMBER 函数实现分页
- CentOS6安裝Cacti
- runtime官方文档
- JSP之jsp内置标签
- win10不自带扫雷,想玩扫雷怎么办?自己造一个扫雷
- 关于Si24r1调试的总结
- ubuntu安装windows 字体
- linux主目录下的文件夹改回英文
- RNN预测股票开盘价(TensorFlow,tensorboard可视化)
- (初学笔记1)python读多波段遥感影像并存到三维数组中
- ICP经营许可证条件
- 技法(但请少用):为非活动窗口绘制活动的标题栏
- 2020年3月全国程序员工资统计,平均工资13820元
- Linux图形子系统
- PMO和PM如何准备项目状态报告及进行项目进度汇报?【附项目状态表和进度跟踪表】
- 屠龙少年终成恶龙!Adobe豪掷200亿美元收购Figma,设计圈炸了!
- 人生忠告:给男人和女人(ZT)
- 深度学习--超参数(持续更新)
- T字形路口小车如何要c语言编程,科二皮卡怎么找30公分线