Introduction
Урок 18 из 20 курса Математические головоломки на Coddy.
Двоичное число — это число, выраженное в двоичной системе счисления, методе математического выражения, который использует только два символа: обычно «0» (ноль) и «1» (единица). [Из Википедии, свободной энциклопедии]
Обозначения: 110=12, 210=102, 310=112, 410=1002 означают, что числа 1, 2, 3 и 4 в десятичной системе счисления (системе счисления с основанием 10) равны 1, 10, 11 и 100 в двоичной системе счисления.
Счет в двоичной системе аналогичен счету в любой другой системе счисления. Начиная с одной цифры, счет идет через каждый символ в порядке возрастания.
Чтобы преобразовать целое число из десятичной системы в его двоичный эквивалент (с основанием 2), число делится на два. Остаток — это наименее значимый бит (самый правый бит). Частное снова делится на два; его остаток становится следующим наименее значимым битом. Этот процесс повторяется до тех пор, пока частное не станет равным единице. Последовательность остатков (включая конечное частное, равное единице) формирует двоичное значение, так как каждый остаток при делении на два должен быть либо нулем, либо единицей. Например, 510 выражается как 1012, так как:
пять, деленное на два, равно 2 с остатком один: 5:2 = 2(1). Таким образом, наименее значимый бит равен единице. Далее, 2:2=1(0). Таким образом, следующий наименее значимый бит равен нулю, а следующий — единице.
Задание
ЛегкоНапишите функцию calcBinary, которая получает целое число в десятичной системе счисления и возвращает его эквивалент в двоичной системе в виде строки.
Попробуйте сделать это без использования встроенных функций
Попробуйте сами
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <stdbool.h>
#include "solution.h"
int main() {
int n;
if (scanf("%d", &n) != 1) n = 0;
char* r = calcBinary(n);
printf("%s\n", r);
return 0;
}