#include < bits/stdc++.h> using namespace std; int main() { char bin_str[255]; int dec = 0, i, n, _int; float x = 0; cout < < »введите строку > > \n«; cin.getline(bin_str, 255); n = strlen(bin_str); for (i = n— 1; i > = 0; i—) { _int = bin_str[i]; if (_int == 48) dec += 0; else if (_int == 49) dec += (1 * (pow(2, ; else goto exit; x++; } cout < < dec < < endl; return 0; }
daskal83
11.02.2022
Если при сложении с единицей в некоторой системе счисления из двухзначного числа получается трехзначное, то двухзначное число было максимально возможным двухзначным числом, записанным в этой системе и обе его цифры были на единицу меньше основания системы счисления.таким образом, можно утверждать, что заданные числа это 33₄, 66₇, 88₉число 100 в системе счисления по оcнованию n равно n², т.е. для указанных чисел это будут значения 4²=16, 7²=49 и 9²=81. остается вычесть единицу.соответственно, в десятичной системе 33₄=15, 66₇=48, 88₉=80
Ответить на вопрос
Поделитесь своими знаниями, ответьте на вопрос:
Переведите числа из двоичной системы исчисления в десятичную 1000, 0001, 0100, 0101, 1001, 0110, 0111. 0010.
1000=2^3=8,
0001=2^0=1,
0100=2^2=4,
0101=2^2+2^0=4+1=5,
1001=2^3+2^0=8+1=9,
0110=2^2+2^1=4+2=6,
0111=2^3-2^0=7
0010=2^1=2