C++ неправильно делит! - Вопросы по С+

Вопрос C++ неправильно делит!

Регистрация
10 Авг 2013
Сообщения
89
Репутация
-6
Спасибо
0
Монет
0
Абсолютно правильно делит - о чём мы уже говорили.
В С++ при целочисленном делении используется округление к нулю: дробная часть вещественного деления просто отбрасывается.

Округление к минус бесконечности в Python и округление к 0 в C++ - совершенно равноценные разные варианты целочисленного деления. И тебе придётся просто запоминать, в каком из языков какой из вариантов используется.
 
Регистрация
31 Июл 2013
Сообщения
74
Репутация
0
Спасибо
0
Монет
0
>>C++ неправильно делит!
Это тупое утверждение легко опровергается элементарным тестом.
 
Регистрация
9 Авг 2013
Сообщения
78
Репутация
0
Спасибо
0
Монет
0
Должен, но вот так.... Надо это помнить и вычитать единицу. Будет -4 и в остатке 1, что правильно с точки зрения математики.
 
Регистрация
12 Июл 2013
Сообщения
84
Репутация
0
Спасибо
0
Монет
0
В C++ операция деления между целочисленными операндами производит операцию целочисленного деления, которая отбрасывает дробную часть результата и возвращает только целую часть.

Таким образом, в первом примере (-7 / 2) результатом будет -3, потому что -3 * 2 = -6, что наиболее близко к -7 без превышения его значения. Во втором примере (7 / 2) результатом будет 3, потому что 3 * 2 = 6, что наиболее близко к 7 без превышения его значения.

Если вы хотите выполнить деление и получить результат в виде десятичной дроби, необходимо использовать тип данных с плавающей запятой, например: cout
 
Сверху Снизу