Сложение и возведение в степень осуществить через битовые операции - C (СИ)

Узнай цену своей работы

Формулировка задачи:

Нужно составить программу, которая осуществляет: (2^n)+(2^m). Пользователь сам вводит значения (m) и (n). Собственно сложение и возведение в степень осуществить через битовые операции. Результат работы программы нужно сохранять в файл и представить десятичным числом. Из собственных идей - это нужно сдвигать единичку в байте, собственно умножение на 2. Только сам не знаю как это оформить. Буду признателен любой подсказке и помощи. Заранее огромное спасибо!

Решение задачи: «Сложение и возведение в степень осуществить через битовые операции»

textual
Листинг программы
#include <stdio.h>
int main()
{
    FILE *file;
    file=fopen("file", "w");
    if(file==NULL)
    {
        printf("Не получается открыть файл!\n");
    }
 
    int n;
    printf("Введите целое неотрицательное число\n");
    scanf("%d", &n);
    int m;
    printf("Введите целое неотрицательное число\n");
    scanf("%d", &m);
    double x;
    double y;
    if(n==m)
    {
        x=((1<<n)|(1<<m));
        y=2*x;
       fprintf(file,"%lf\n", y);
    }
    if(n!=m)
    {
        x=((1<<n)|(1<<m));
        fprintf(file,"%lf\n", x);
    }
    fclose(file);
    return 0;
}

Объяснение кода листинга программы

  1. Объединение файлов начинается с #include <stdio.h>.
  2. Затем следует функция main(), которая является точкой входа в программу.
  3. Программа открывает файл с помощью fopen() и сохраняет его в переменную file. Если файл не может быть открыт, программа выводит сообщение об ошибке и завершается.
  4. Пользователю предлагается ввести два целых неотрицательных числа, которые сохраняются в переменные n и m.
  5. Затем создаются две переменные типа double, x и y, которые будут использоваться для выполнения операций.
  6. Если n равно m, то выполняется операция сложения, иначе выполняется операция возведения в степень.
  7. Значение переменной x устанавливается в результат операции.
  8. Значение переменной y устанавливается в результат умножения x на 2.
  9. Результат y записывается в файл с помощью fprintf().
  10. Если n не равно m, то выполняется операция возведения в степень, иначе выполняется операция сложения.
  11. Значение переменной x устанавливается в результат операции.
  12. Результат x записывается в файл с помощью fprintf().
  13. Файл закрывается с помощью fclose().
  14. Программа возвращает 0, что означает успешное выполнение.
  15. Программа завершается.

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

15   голосов , оценка 4.067 из 5
Похожие ответы