Изменение представления числа

Рейтинг: 0Ответов: 1Опубликовано: 23.02.2011

Как в программе перевести число из двоичной системы в десятичную и наоборот?

Ответы

▲ 2

Для преобразования строк десятичного представления и двоичное и обратно, можно использовать пару функций: 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));
}