欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

python 整數(shù)越界問題詳解

 更新時(shí)間:2019年06月27日 17:25:44   作者:mans-men  
這篇文章主要介紹了python 整數(shù)越界問題詳解,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧

python 內(nèi)部自帶大整數(shù)運(yùn)算能力,整數(shù)運(yùn)算不會(huì)溢出,只要內(nèi)存足夠,就oK

下面的例子演示了兩個(gè)32位整數(shù)加法的情況(通過位運(yùn)算實(shí)現(xiàn)),為了模擬溢出的效果,必須人工的進(jìn)行位運(yùn)算,~運(yùn)算符除了求反,還是二進(jìn)制的補(bǔ)運(yùn)算符,運(yùn)算過后的二進(jìn)制數(shù)字按照補(bǔ)碼解釋,例如 ~(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))

補(bǔ)充:python 循環(huán)內(nèi)部添加多個(gè)條件判斷會(huì)出現(xiàn)越界

1.循環(huán)遍歷數(shù)組是,想添加條件修改時(shí),只刪除第一個(gè)

# -*- 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.應(yīng)該引入被刪除為一個(gè)數(shù)組

# -*- 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]
'''

以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

最新評(píng)論