# Математика, адреса данных

Лучше поздно, чем никогда - сказал кто-то когда-то. Собственно к теме.

### Математика.

Для основных математических действий в С++ используются всем привычные с школы знаки (`+`,`-`,`*`,`/`). Два последних — это умножение и деление. Это так, для людей без полета мысли :3.

Переменным можно присваивать результат от математической операции над другими переменными:

```cpp
int Suma, first = 7, second = 4;
Suma = first + second;
```

Переменная `Suma` будет равна 11. Для особых математических действий есть специальные функции:

|  abs(x)  |  `\|x\|` |
| :------: | :------: |
|  cos(x)  | `cos(x)` |
|  tan(x)  |  `tg(x)` |
|  log(x)  |  `ln(x)` |
| pow(x,y) |    xʸ    |
|  sqrt(x) |   `√x`   |
|  exp(x)  |   `e˟`   |
| pow10(x) |   `10˟`  |
| log10(x) |  `lg(x)` |

Пример:

```cpp
int x = -2, x1, a =3;
float pi = 3.1415926, m = 16, kut, k;
x1 = abs(x); a=pow10(a);
kut = cos(2pi);
k = pow(m, 1./4);
m = sqrt(m);
```

Тогда этим переменным будут присвоены следующие значения:

```
x1 = abs(x) = |-2| = 2;
a=pow10(3) = 102 = 1000;
kut = cos(2* 3.1415926)=1;
k = pow(16, 1./4) = 161\4 = 2;
m = sqrt(16) =√16 = 4;
```

Инициализировать переменные может и пользователь. Для считывания данных из клавиатуры в С++ есть стандартная конструкция "cin" (СиИн):

```cpp
int first;
cin>>cfirst;
cout<<first;
```

### Адрес данных.

Довольно часто нужно знать не только значение переменной, но и её адрес в оперативной памяти. Для этого в c++ есть специальная операция:

```cpp
&<название данного>
```

Например:

```cpp
int a =25;
cout<<"Value a is "<<a<<"\n";
cout<<"Offset a is "<<&a;
```

Получаем:

```
Value a is 25
Offset a is 0xaf72254
```

На этом пока-что всё. Экспериментируйте, носите шапку и не захватывайте ОДА :3. Удачи!

Автор: **SHooZ**
