from time import clock import sys infile = open('in5_4.txt','r') row = infile.readline() l = row.split(",") start = '0b'+l[0] stop = '0b'+l[1] ad = 0 mul = 0 mem = 0 shifts=0 comp=0 bitand=0 dictionary = {0:'0',1:'1',2:'2',3:'3',4:'4',5:'5',6:'6',7:'7',8:'8',9:'9',10:'A',11:'B',12:'C',13:'D',14:'E',15:'F'} c1 =clock() def bintohex(b): global comp global bitand global shifts hexstr="" while int(b,2)>0: value = int(b,2)&15 bitand = bitand+4 global dictionary hexstr = dictionary[value] + hexstr comp=comp+1 shifts=shifts+4 b = bin(int(b,2)>>4) #b=b1 global mem mem = mem + sys.getsizeof(hexstr)+ sys.getsizeof(value) return hexstr def strreplace(s,ind,v): s1="" for i in range(0,len(s),1): if i==ind: s1=s1+v else: s1 = s1 + s[i] global mem mem =mem + sys.getsizeof(s1)+ sys.getsizeof(s1)+ sys.getsizeof(v)+ sys.getsizeof(ind) return s1 def inc(bnum,index): global mem global comp global ad comp = comp+3 tempstr= "" if bnum[index]=='0': #bnum[index]='1' bnum=strreplace(bnum,index,'1') elif bnum[index]=='1': #bnum[index]='0' bnum=strreplace(bnum,index,'0') if index==2: tempstr = "" for i in range(2,len(bnum),1): tempstr = tempstr + bnum[i] tempstr = '0'+tempstr bnum = '0b'+tempstr index=index+1 ad=ad+1 bnum = inc(bnum,index-1) else: bnum mem = mem + sys.getsizeof(bnum)+ sys.getsizeof(index)+ sys.getsizeof(tempstr) return bnum filedata="" while start != stop: filedata = filedata + bintohex(start)+',' start = inc(start,len(start)-1) filedata = filedata + bintohex(start) t=clock()-c1 mem = mem + sys.getsizeof(start)+ sys.getsizeof(mul)+ sys.getsizeof(ad)+ sys.getsizeof(t)+ sys.getsizeof(stop) filedata = filedata + "\n" + "ADDITIONS="+str(ad) + ','+ "MULTIPLICATIONS="+ str(mul)+',' + "TIME="+ str(t) + ','+ "MEMORY="+ str(mem)+ ','+ "BITSHIFTS="+ str(shifts)+ ','+ "BITWISE AND="+ str(bitand)+ ','+ "COMPARISONS="+ str(comp) #print filedata outfile = open('out_4_5_4.txt','w') outfile.write(filedata) outfile.close()