Почему результат этих вычислений таков?

#include <sys/types.h>
#include <stdio.h>

int main()
{
    int i;
    ssize_t fsize = 2047;
    i = fsize - 2048*(fsize / 2048);
    printf("R: %d\n", i);


}

В результате i = 2047 введите сюда описание изображения

Мне математика подсказывает, что должно быть 0, но..


Ответы (1 шт):

Автор решения: Harry

Тип ssize_t - целочисленный.

Целочисленное деление — это деление с отбрасыванием дробной части.

2047/2048 с отбрасыванием дробной части равно 0.

Дальше все очевидно?

→ Ссылка