python: Binary Number
binary_num = '10000001'
ones_complement = ''
for bit in binary_num:
ones_complement += '0' if bit == '1' else '1'
print(ones_complement)
#加上1
binary_number='10000011'
decimal = 0
newstr=''
for i in range(len(binary_number)):
if binary_number[i] == '1':
newstr +='0'
decimal += 2 ** i
else:
newstr +='1'
decimal += 0 ** i
print(newstr)
print("{0:b}".format(decimal))
decimal = decimal + 1
print("{0:b}".format(decimal))
c='10000001'
print(int(c,2)) # 二进制转十进制
a='11001000'
b = int(a, 2) # 二进制转十进制
b+=10
print(b)
print(bin(b)) #十进制转二进制
mm=0b1100100
mm<< 1 #左移位 >> 右移位
print('move 1:',bin(mm))
print('move 1:', "{0:b}".format(mm))
print("{0:b}".format(b)) #十进格式化二进制
decimal = 200
print("{0:b}".format(decimal))
decimal = decimal + 1
print("{0:b}".format(decimal))
fl=[]
kk="{0:b}".format(decimal)
for ss in kk:
fl.append(int(ss))
print(fl)
def binary_to_decimal(binary_number):
"""
:param binary_number:
:return:
"""
decimal = 0
for i in range(len(binary_number)):
if binary_number[i] == '1':
decimal += 2 ** i
return decimal
def one_complement(binary_number):
"""
:param binary_number:
:return:
"""
decimal = binary_to_decimal(binary_number)
return decimal + 1
def pagingNum(ptotal, verypnum):
"""
打包装的箱数计算
:param ptotal: 总数量
:param verypnum: 每个包装打包的数量
:return: 返回包装数量
"""
pagenumber=0
for k in range(0,ptotal,verypnum):
pagenumber+=1
return pagenumber
# Returns '0' for '1' and '1' for '0'
def flip(c):
return '1' if (c == '0') else '0'
# Print 1's and 2's complement of
# binary number represented by "bin"
def printOneAndTwosComplement(bin):
n = len(bin)
ones = ""
twos = ""
# for ones complement flip every bit
for i in range(n):
ones += flip(bin[i])
# for two's complement go from right
# to left in ones complement and if
# we get 1 make, we make them 0 and
# keep going left when we get first
# 0, make that 1 and go out of loop
ones = list(ones.strip(""))
twos = list(ones)
for i in range(n - 1, -1, -1):
if (ones[i] == '1'):
twos[i] = '0'
else:
twos[i] = '1'
break
i -= 1
# If No break : all are 1 as in 111 or 11111
# in such case, add extra 1 at beginning
if (i == -1):
twos.insert(0, '1')
print("1's complement: ", *ones, sep="")
print("2's complement: ", *twos, sep="")
调用:
binary_num = '101010'
ones_complement = ''
for bit in binary_num:
ones_complement += '0' if bit == '1' else '1'
print(ones_complement)
binary_number = '101010'
one_complement(binary_number)
print(ones_complement)
bin = "101010"
printOneAndTwosComplement(bin.strip(""))
pag=56
co=pagingNum(pag,12)
print(co)
binary_num = '101010'
ones_complement = ''
for bit in binary_num:
ones_complement += '0' if bit == '1' else '1'
print(ones_complement)
binary_number = '101010'
one_complement(binary_number)
print(ones_complement)
bin = "101010"
printOneAndTwosComplement(bin.strip(""))
decimal = 0
for i in range(len(binary_number)):
if binary_number[i] == '1':
decimal += 2 ** i
print("0{0:b}".format((decimal)))
decimal=decimal+1
print("0{0:b}".format((decimal)))
pag=56
co=pagingNum(pag,12)
print(co)

def asce(dulist:list)->bool:
"""
是否升序
:param dulist:
:return:
"""
isasc=False
ch = dulist[0]
asc = 1 # 升序记数器 ascending or descending
l = len(dulist)
for k in range(1, len(dulist)):
if (ch < dulist[k]):
ch = dulist[k]
asc += 1
if(asc==l):
isasc=True
return isasc
def desc(dulist: list) -> bool:
"""
是否降序
:param dulist:
:return:
"""
isdes = False
ch = dulist[0]
des = 1 # 降序记数器 descending
l = len(dulist)
for k in range(1,len(dulist)):
if(ch>dulist[k]):
ch = dulist[k]
des+=1
if (des == l):
isdes = True
return isdes
ls=[5,7,20,50,70]
ch=ls[0]
asc=1 #升序记数器 ascending or descending
des=1 #降序记数器
l=len(ls)
for k in range(1,len(ls)):
if(ch<ls[k]):
ch=ls[k]
asc+=1
ch = ls[0]
for k in range(1,len(ls)):
if(ch>ls[k]):
ch = ls[k]
des+=1
print(asc,des)
if(asc==l):
print("asc")
if(des==l):
print("des")
print(asce(ls))
print(desc(ls))
def clen(custome)->int:
"""
计算变量的长度函数
:param custome:
:return:
"""
num=0
#print(type(custome))
if isinstance(custome,list): #列表 集合
for k in custome:
#print(k)
num+=1
if isinstance(custome,str): # 字符串 enumerate() iter()遍历字符串
for k in custome:
#print(k)
num+=1
if isinstance(custome,int): #如果是整数,计算它的长度
if(custome==0):
num=0
else:
num=1+clen(custome//10)
return num
ls = [5, 7, 20, 50, 70]
print(clen(ls))
ddd="hihowareyou"
print(clen(ddd))
print(clen(1023))
哲学管理(学)人生, 文学艺术生活, 自动(计算机学)物理(学)工作, 生物(学)化学逆境, 历史(学)测绘(学)时间, 经济(学)数学金钱(理财), 心理(学)医学情绪, 诗词美容情感, 美学建筑(学)家园, 解构建构(分析)整合学习, 智商情商(IQ、EQ)运筹(学)生存.---Geovin Du(涂聚文)
浙公网安备 33010602011771号