Сделал 1е Задание по Битовым операциям

This commit is contained in:
AZEN-SGG 2024-11-03 11:46:11 +03:00
parent baa0509a01
commit 060d43dbcf
4 changed files with 51 additions and 0 deletions

View file

@ -0,0 +1,24 @@
#include <stdio.h>
#include "pow.h"
#define IOE "InputError!\n"
int main(void) {
double number;
int power;
printf("Enter your number: ");
if (scanf("%lf", &number) == 0) {
printf("%s", IOE);
return -1;
}
printf("Enter the power: ");
if (scanf("%d", &power) == 0) {
printf("%s", IOE);
return -2;
}
printf("The number %.1lf to the power of %d is %.1lf\n", number, power, bitwisePow(number, power));
return 0;
}

View file

@ -0,0 +1,8 @@
all: main.o pow.o
gcc main.o pow.o && del *.o
main.o: main.c
gcc -c main.c
pow.o: pow.c
gcc -c pow.c

View file

@ -0,0 +1,13 @@
#include "pow.h"
double bitwisePow(double number, int exponent) {
double result = 1;
while (exponent != 0) {
if (exponent & 1) result *= number;
number *= number;
exponent >>= 1;
}
return result;
}

View file

@ -0,0 +1,6 @@
#ifndef POW
#define POW
double bitwisePow(double number, int exponent);
#endif