добавить цикл while в этот код, очень надо( print('Enter first number')
a=int(input())
print('Enter second number')
b=int(input())
print('Enter math operation')
c=input()
if c== '//':
if b == 0:
print('Error')
else:
print(a//b)
elif c== '-':
print(a-b)
elif c== '+':
print(a+b)
elif c== '/':
if b == 0:
print('Error')
else:
print(a/b)
elif c== '*':
print(a*b)
elif c== '**':
print(a**b)
elif c== '%':
print(a%b)
512/2=256, остаток 0
256/2=128, остаток 0
128/2=64, остаток 0
64/2=32, остаток 0
32/2=16, остаток 0
16/2=8, остаток 0
8/2=4, остаток 0
4/2=2, остаток 0
2/2=1, остаток 0
А теперь записываем частное и приписываем к нему справа в обратном порядке все остатки. Получаем 1000000000(2).
Можно было всего этого и не делать, если мы помним, что 512 - это два в ДЕВЯТОЙ степени. Тогда сразу можно написать единицу и ДЕВЯТЬ нулей.
Для перевода числа из двоичной системы в восьмеричную следует разбить в направлении справа налево двоичное число по три разряда (получая так называемые триАды). А затем каждую триаду заменить соответствующей восьмеричной цифрой. Самую левую триаду, если она неполная, дополняют слева незначащими нулями. В основе такого перевода лежит то, что восемь - это третья степень числа два.
1000000000(2)=001 000 000 000(2)=1000(8)
Для перевода числа из двоичной системы в шестнадцатиричную следует разбить в направлении справа налево двоичное число по четыре разряда (получая так называемые тетрАды). А затем каждую тетраду заменить соответствующей шестнадцатиричной цифрой. Самую левую тетраду, если она неполная, дополняют слева незначащими нулями. В основе такого перевода лежит то, что шестнадцать - это четвертая степень числа два.
1000000000(2)=0010 0000 0000(2)=200(16)