Как считать из файла двоичные числа и перевести их в десятичные?

Для считывания двоичных чисел из файла и их преобразования в десятичные, вам понадобится выполнить несколько шагов.

1. Откройте файл, из которого хотите считать двоичные числа, используя функцию fopen. Например:

FILE *file = fopen("filename.bin", "rb");

Здесь "filename.bin" - это имя файла, в котором хранятся двоичные числа, а "rb" означает, что файл открывается в бинарном режиме для чтения.

2. Создайте переменную для хранения считанного значения. Например:

unsigned int number;

3. Используйте функцию fread для считывания двоичных чисел из файла. Например:

fread(&number, sizeof(unsigned int), 1, file);

Здесь &number - адрес переменной number, в которую будут считываться данные. sizeof(unsigned int) - размер переменной number, 1 - количество элементов для считывания, file - указатель на файл.

4. Преобразуйте считанное двоичное число в десятичное. Для этого можно использовать цикл и побитовые операции:

unsigned int decimal = 0;
unsigned int position = 1;

while (number > 0) {
    int digit = number % 10;
    decimal += digit * position;
    position *= 2;
    number /= 10;
}

Здесь digit - младший бит двоичного числа, который добавляется к десятичному числу decimal. Position - позиция бита (1, 2, 4, 8, ...), number - считываемое двоичное число.

5. Повторите шаги 3 и 4 для каждого двоичного числа в файле, пока не достигнете конца файла.

6. Закройте файл, когда закончите чтение:

fclose(file);

Таким образом, приведенный выше код позволяет считывать двоичные числа из файла и преобразовывать их в десятичные числа. Вы можете адаптировать этот код под свои потребности и добавить обработку ошибок, если это необходимо.