Раздел «Язык Си».NumberSystem:

Системы счисления

Число 235 в десятичной системе счисления есть 235_{10} = 2\cdot 10^2 + 3 \cdot 10 + 5 Число 235 в восьмеричной системе счисления есть 235_{8}= 2\cdot 8^2 + 3 \cdot 8 + 5

Пусть Q натуральное число . Тогда представить число N в Q-ичной системе счисления, означает представить число N в виде суммы различных степеней Q с целыми коэффициентами из диапазона [0..Q-1]: N = a_0\cdot Q^0 + a_1\cdot Q^1 + a_2 \cdot Q^2 + ... Q-ичная запись числа N это набор коэффициентов (a_m,a_{m-1},...,a_0), где a_m — последний ненулевой коэффициент.

Докажите методом математической индукции, что это разложение существует единственно. Для тренировки разберите отдельно случай Q=2: любое натуральное число представляется в виде суммы различных степеней двойки и притом единственным образом.

Примеры:

Что делает приведенная ниже программа?

#include <stdio.h>
int main () {
    int n; 
    scanf ("%d", &n);
    while (n) {
        printf("%d", n % 2);
        n /= 2;
    }
    return 0;
}

Напишите программу, которая введенное натуральное число (в десятичной записи) переводит в восьмиричеую систему счисления.

-- ArtemVoroztsov - 09 Oct 2004