При целочисленных значениях x и y C и C++ возвращают как частное q = x/y минимальное значение эквивалента с плавающей запятой. Вместо этого меня интересует способ вернуть потолок. Например, ceil(10/5)=2 и ceil(11/5)=3.
Очевидный подход предполагает что-то вроде:
Это требует дополнительного сравнения и умножения; и другие методы, которые я видел (на самом деле использовал), включают приведение к типу float или double. Существует ли более прямой метод, который позволяет избежать дополнительного умножения (или второго деления) и ветвления, а также избежать приведения к числу с плавающей запятой?
Подробнее здесь:
https://stackoverflow.com/questions/274 ... ion-in-c-c