Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- input_f = open('C:/temp/input.txt')
- output_f = open('C:/temp/output.txt', 'w')
- def main():
- line = input_f.readline() #y1
- spl = line.split() #y2
- op = spl[0] #y3
- oper1 = spl[1] #y4
- oper2 = spl[2] #y5
- err = "" #y6
- res2 = "0" * 64 #y7
- res = 0 #y8
- if op != "11" and op != "00": #x1
- err = "001" #y9
- print ("error 001: invalid operation") #y10
- return
- if len(oper1) != 64 or len(oper2) != 64: #x2
- err = "010" #y11
- print ("error 010: invalid operand length") #y12
- return
- num = set(oper1) #y13
- if num not in [{"0"}, {"1"}, {"0", "1"}]: #x3
- err = "011" #y14
- print ("error 011: invalid input in operand") #y15
- return
- num = set(oper2) #y16
- if num not in [{"0"}, {"1"}, {"0", "1"}]: #x3
- err = "011" #y14
- print ("error 011: invalid input in operand") #y15
- return
- if op == "11" and int(oper2, 2) == 0: #x4
- err = "100" #y17
- print ("error 100: dividing by zero") #y18
- return
- if op == "11": #x5
- res = int(oper1, 2)/int(oper2, 2) #y19
- if op == "00": #x6
- res = int(oper1, 2)*int(oper2, 2) #y20
- if res < -2**64 or res > 2**64: #x6
- err = "101" #y21
- print ("error 101: overflow") #y22
- return
- res = bin(int(res)) #y23
- sres = str(res)[2:].zfill(64) #y24
- output_f.write (oper1 + " " + oper2 + " " + sres) #y25
- main ()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement