Экспоненциа́льная за́пись — представление действительных чисел в виде мантиссы и порядка. Удобна при представлении очень больших и очень малых чисел, а также для унификации их написания.
{\displaystyle N=M\cdot n^{p}} N=M\cdot n^{p}, где
1 000 000 (один миллион): {\displaystyle 1{,}0\cdot 10^{6}} 1{,}0\cdot 10^{6}; N = 1 000 000, M = 1,0, n = 10, p = 6.
1 201 000 (один миллион двести одна тысяча): {\displaystyle 1{,}201\cdot 10^{6}} 1{,}201\cdot 10^{6}; N = 1 201 000, M = 1,201, n = 10, p = 6.
−1 246 145 000 (минус один миллиард двести сорок шесть миллионов сто сорок пять тысяч): {\displaystyle -1{,}246145\cdot 10^{9}} -1{,}246145\cdot 10^{9}; N = −1 246 145 000, M = −1,246145, n = 10, p = 9.
0,000001 (одна миллионная): {\displaystyle 1{,}0\cdot 10^{-6}} 1{,}0\cdot 10^{{-6}}; N = 0,000001, M = 1,0, n = 10, p = −6.
0,000000231 (двести тридцать одна миллиардная): {\displaystyle 231\cdot 10^{-9}=2{,}31\cdot 100\cdot 10^{-9}=2{,}31\cdot 10^{2}\cdot 10^{-9}=2{,}31\cdot 10^{-9+2}=2{,}31\cdot 10^{-7}} 231\cdot 10^{{-9}}=2{,}31\cdot 100\cdot 10^{{-9}}=2{,}31\cdot 10^{2}\cdot 10^{{-9}}=2{,}31\cdot 10^{{-9+2}}=2{,}31\cdot 10^{{-7}}; N = 0,000000231, M = 2,31, n = 10, p = −7.
/*Решение с обобщения формула Брахмагупты для произвольного четырехугольника. Функция perimeter(double x[], double y[]) возвращает значение периметра, функция area(double x[], double y[]) возвращает значение площади, пример использования и реализация приведены ниже. */
#include <iostream>
#include <math.h>
double perimeter(double x[], double y[]);
double area(double x[], double y[]);
int main()
{
double x[4], y[4];
std::cout << "Quadrangle ABCD\n";
for (auto i = 0; i < 4; i++)
{
std::cout << "Input coordinates of point " << char(i + 'A') << ": ";
Экспоненциа́льная за́пись — представление действительных чисел в виде мантиссы и порядка. Удобна при представлении очень больших и очень малых чисел, а также для унификации их написания.
{\displaystyle N=M\cdot n^{p}} N=M\cdot n^{p}, где
N — записываемое число;
M — мантисса;
n — основание показательной функции;
p (целое) — порядок;
{\displaystyle n^{p}} n^{p} — характеристика числа.
Примеры:
1 000 000 (один миллион): {\displaystyle 1{,}0\cdot 10^{6}} 1{,}0\cdot 10^{6}; N = 1 000 000, M = 1,0, n = 10, p = 6.
1 201 000 (один миллион двести одна тысяча): {\displaystyle 1{,}201\cdot 10^{6}} 1{,}201\cdot 10^{6}; N = 1 201 000, M = 1,201, n = 10, p = 6.
−1 246 145 000 (минус один миллиард двести сорок шесть миллионов сто сорок пять тысяч): {\displaystyle -1{,}246145\cdot 10^{9}} -1{,}246145\cdot 10^{9}; N = −1 246 145 000, M = −1,246145, n = 10, p = 9.
0,000001 (одна миллионная): {\displaystyle 1{,}0\cdot 10^{-6}} 1{,}0\cdot 10^{{-6}}; N = 0,000001, M = 1,0, n = 10, p = −6.
0,000000231 (двести тридцать одна миллиардная): {\displaystyle 231\cdot 10^{-9}=2{,}31\cdot 100\cdot 10^{-9}=2{,}31\cdot 10^{2}\cdot 10^{-9}=2{,}31\cdot 10^{-9+2}=2{,}31\cdot 10^{-7}} 231\cdot 10^{{-9}}=2{,}31\cdot 100\cdot 10^{{-9}}=2{,}31\cdot 10^{2}\cdot 10^{{-9}}=2{,}31\cdot 10^{{-9+2}}=2{,}31\cdot 10^{{-7}}; N = 0,000000231, M = 2,31, n = 10, p = −7.
Объяснение: както так
/*Решение с обобщения формула Брахмагупты для произвольного четырехугольника. Функция perimeter(double x[], double y[]) возвращает значение периметра, функция area(double x[], double y[]) возвращает значение площади, пример использования и реализация приведены ниже. */
#include <iostream>
#include <math.h>
double perimeter(double x[], double y[]);
double area(double x[], double y[]);
int main()
{
double x[4], y[4];
std::cout << "Quadrangle ABCD\n";
for (auto i = 0; i < 4; i++)
{
std::cout << "Input coordinates of point " << char(i + 'A') << ": ";
std::cin >> x[i] >> y[i];
}
std::cout << perimeter(x, y) << " " << area(x, y);
return 0;
}
double perimeter(double x[], double y[])
{
double a[4], p = 0;
for (auto i = 0; i < 4; i++)
{
a[i] = sqrt((x[i]-x[(i + 1) % 4]) * (x[i]-x[(i + 1) % 4]) + (y[i]-y[(i + 1) % 4]) * (y[i]-y[(i + 1) % 4]));
p += a[i];
}
return p;
}
double area(double x[], double y[])
{
double a[4], p = 0, s = 1, d[2];
for (auto i = 0; i < 4; i++)
{
a[i] = sqrt((x[i]-x[(i + 1) % 4]) * (x[i]-x[(i + 1) % 4]) + (y[i]-y[(i + 1) % 4]) * (y[i]-y[(i + 1) % 4]));
p += a[i];
}
for (auto i = 0; i < 4; i++)
{
s *= (p / 2- a[i]);
}
for (auto i = 0; i < 2; i++)
{
d[i] = sqrt((x[i]-x[i + 2]) * (x[i]-x[i + 2]) + (y[i]-y[i + 2]) * (y[i]-y[i + 2]));
}
s -= (a[0] * a[2] + a[1] * a[3] + d[0] * d[1]) * (a[0] * a[2] + a[1] * a[3] - d[0] * d[1]) / 4;
s = sqrt(s);
return s;
}