Сложение и возведение в степень осуществить через битовые операции - 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;
}
Объяснение кода листинга программы
- Объединение файлов начинается с
#include <stdio.h>. - Затем следует функция
main(), которая является точкой входа в программу. - Программа открывает файл с помощью
fopen()и сохраняет его в переменнуюfile. Если файл не может быть открыт, программа выводит сообщение об ошибке и завершается. - Пользователю предлагается ввести два целых неотрицательных числа, которые сохраняются в переменные
nиm. - Затем создаются две переменные типа
double,xиy, которые будут использоваться для выполнения операций. - Если
nравноm, то выполняется операция сложения, иначе выполняется операция возведения в степень. - Значение переменной
xустанавливается в результат операции. - Значение переменной
yустанавливается в результат умноженияxна 2. - Результат
yзаписывается в файл с помощьюfprintf(). - Если
nне равноm, то выполняется операция возведения в степень, иначе выполняется операция сложения. - Значение переменной
xустанавливается в результат операции. - Результат
xзаписывается в файл с помощьюfprintf(). - Файл закрывается с помощью
fclose(). - Программа возвращает 0, что означает успешное выполнение.
- Программа завершается.