@Conan_Doyle

Почему 150/1000 == 0?

double n = 150/1000;
    cout << n << endl;
  • Вопрос задан
  • 213 просмотров
Решения вопроса 1
@Mercury13
Программист на «си с крестами» и не только
Потому что деление происходит int/int, то есть целочисленное.
Надо 150.0/1000.

Это известный глюк Си-подобных языков — a/b в зависимости от типа или деление, или неполное частное. В Паскале, например, неполное частное — a div b. В Си-подобных языках с динамической типизацией (JS) отказались от неполного частного, ибо мы тип плохо контролируем.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы
19 апр. 2024, в 03:52
1000 руб./за проект
19 апр. 2024, в 03:01
1000 руб./за проект
18 апр. 2024, в 21:56
2000 руб./за проект