Выполнить перевод десятичных чисел в двоичнную систему счисления и наоборот.
32, 46, 63.
Ответы
Ответ:
Из десятичной в двоичную:
num = int(input())
base = int(input("Base (2-9): "))
if not (2 <= base <= 9):
quit()
new_num = ''
while num > 0:
new_num = str(num % base) + new_num
num //= base
print(new_num)
Из двоичной в десятичную
num_str = input("Enter a number: ")
base = int(input("Base (2-9): "))
if not(2 <= base <= 9):
quit()
decimal_num = 0
power = len(num_str) - 1
for digit in num_str:
decimal_num += int(digit) * (base ** power)
power -= 1
print(decimal_num)
результаты на скриншоте)
Ответ:
32 в 10 системе счисления=100000 в 2 системе счисления
46 в 10 системе счисления =101110 в 2 системе счисления
63 в 10 системе счисления =111111 в 2 системе счисления
100000 в 2 системе счисления=32 в 10 системе счисления
101110 в 2 системе счисления=46 в 10 системе счисления
111111 в 2 системе счисления=63 в 10 системе счисления
Объяснение:
32÷2=16 и остаток 0
16÷2=8 и остаток 0
8÷2=4 и остаток 0
4÷2=2 и остаток 0
2÷2=1 и остаток 0
1÷2=0 и остаток 1
32 в 10 системе счисления=100000 в 2 системе счисления
46÷2=23 и остаток 0
23÷2=11 и остаток 1
11÷2=5 и остаток 1
5÷2=2 и остаток 1
2÷2=1 и остаток 0
1÷2=0 и остаток 1
46 в 10 системе счисления =101110 в 2 системе счисления
63÷2=31 и остаток 1
31÷2=15 и остаток 1
15÷2=7 и остаток 1
7÷2=3 и остаток 1
3÷2=1 и остаток 1
1÷2=0 и остаток 1
63 в 10 системе счисления =111111 в 2 системе счисления
100000 в 2 системе счисления=1×2^5+0×2^4+0×2^3+0×2^2+0×2^1+0×2^0=32+0+0+0+0+0=32 в 10 системе счисления
101110 в 2 системе счисления=1×2^5+0×2^4+1×2^3+1×2^2+1×2^1+0×2^0=32+0+8+4+2+0=46 в 10 системе счисления
111111 в 2 системе счисления=1×2^5+1×2^4+1×2^3+1×2^2+1×2^1+1×2^0=32+16+8+4+2+1=63 в 10 системе счисления