我正在尝试将二进制字符串从末尾除以恒定长度:例如,'1001011000'除以 3-> ['1','001','011','000']。从数字 600 开始,
def bin_divby(dec,leng):
n = 0
mid_res = ''
res=list()
for nums in bin(dec)[2:][::-1]:
n+=1
mid_res+=nums
if not n%leng:
res+=[mid_res[::-1]]
mid_res=''
if n%leng:
res+=[mid_res[::-1]]
return res[::-1]
(我不确定,但代码有点像这样)使用带有少量变量的 for 循环会使其工作,但我很好奇使用 divmod 是否会使其更快。或者基础转换会更好吗?我认为使用二进制形式比通过 divmod 再次重新计算更有效,但正如您所见,我也使用了很多变量和函数。对于重复数千次计算,哪个更好?
阿晨1998
相关分类