Сложение и возведение в степень осуществить через битовые операции - 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, что означает успешное выполнение.
- Программа завершается.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д