Сначала запишем выражение в виде степеней двойки:
2^16096 - 2^3210 + 2^1024 - 2^7 + 2
Далее последовательно запишем представление числа по действиям:
1) 2^16096 = (в позиции 16096)10000...0
2^3210 = (в позиции 3210)10000...0
При их разности получится:
(16095)111111...111(3210)000...0
2) Прибавляем 2^1024 и получается (16095)111111...111(3210)000...01(1024)00
3) (16095)111111...111(3210)000...01(1023)11(7)0000000
4) (16095)111111...111(3210)000...01(1023)11(7)0000010
Вычисляем кол-о 1: 16095 - 3210 + 1 + 1023 - 7 + 1 + 1 = 13904
#include <stdio.h>
#include <stdlib.h>
int main()
{
// y = 1 - x + x * x / 2 + 5x
// -5 < x < 6
// Считываем x:
float x;
printf("Enter x: ");
scanf("%f", &x);
// Проверяем условие с цикла while:
// PS: для извращенцев.
int i = 0;
while (i == 0)
if (-5 >= x)
return EXIT_FAILURE;
}
if (x >= 6)
i = 1;
// Решаем уравнение:
float y = 1 - x + x * x / 2 + 5 * x;
// Выводим результат:
printf("Result y = %f\n", y);
Сначала запишем выражение в виде степеней двойки:
2^16096 - 2^3210 + 2^1024 - 2^7 + 2
Далее последовательно запишем представление числа по действиям:
1) 2^16096 = (в позиции 16096)10000...0
2^3210 = (в позиции 3210)10000...0
При их разности получится:
(16095)111111...111(3210)000...0
2) Прибавляем 2^1024 и получается (16095)111111...111(3210)000...01(1024)00
3) (16095)111111...111(3210)000...01(1023)11(7)0000000
4) (16095)111111...111(3210)000...01(1023)11(7)0000010
Вычисляем кол-о 1: 16095 - 3210 + 1 + 1023 - 7 + 1 + 1 = 13904
#include <stdio.h>
#include <stdlib.h>
int main()
{
// y = 1 - x + x * x / 2 + 5x
// -5 < x < 6
// Считываем x:
float x;
printf("Enter x: ");
scanf("%f", &x);
// Проверяем условие с цикла while:
// PS: для извращенцев.
int i = 0;
while (i == 0)
{
if (-5 >= x)
{
return EXIT_FAILURE;
}
if (x >= 6)
{
return EXIT_FAILURE;
}
i = 1;
}
// Решаем уравнение:
float y = 1 - x + x * x / 2 + 5 * x;
// Выводим результат:
printf("Result y = %f\n", y);
}