Изменение представления числа
Как в программе перевести число из двоичной системы в десятичную и наоборот?
Источник: Stack Overflow на русском
Как в программе перевести число из двоичной системы в десятичную и наоборот?
Для преобразования строк десятичного представления и двоичное и обратно, можно использовать пару функций: itoa (не входит в стандарт) и strtol.
Число - строка:
#include <stdio.h>
#include <stdlib.h>
void main ()
{
int num = 7;
char out[33] = { 0 };
itoa(num, out, 10);
printf ("Dec: %s.", out);
itoa(num, out, 2);
printf ("Bin: %s.\n", out);
}
Строка - число:
#include <stdio.h>
#include <stdlib.h>
void main ()
{
char nums[] = "1001 1001";
char *end;
printf ("Dec: %ld. Bin: %ld.\n", strtol(nums, &end, 10), strtol(nums, NULL, 2));
}