Особенности деления в Си и Си++
В языке программирования Си существует две операции деления:
/
деление и
%
вычисление остатка от деления.
Надо запомнить!
1) операция вычисления остатка от деления (
%
) выполняется
ТОЛЬКО над целыми числами;
2) результат операции деления (
/
) зависит от типа операндов.
Правило
При делении целого числа на целое число - дробная часть отбрасывается всегда, независимо в переменную какого типа мы сохраняем значение.
При сохранении вещественного результата в целую переменную дробная часть также будет отбрасываться.
Разберем примеры выполнения операций деления:
#include<iostream>
using namespace std;
int main()
{
int i, n;
double x;
i = 7;
x = i / 4; // x=1, делится целое на целое
x = i / 4.; // x=1.75, делится целое на дробное
// (4 - без точки воспринимается как целое число,
// 4. (с точкой) - это уже вещественное число!)
x = (double) i / 4; // x=1.75, делится дробное на целое -
// здесь переменная i преобразовывается в вещественное число
// - это ЯВНОЕ преобразование типа
n = 7. / 4.; // n=1, результат записывается в целую переменную
return 0;
}