Ада: округление целых чисел - PullRequest
4 голосов
/ 27 декабря 2011

У меня много проблем с операцией, которая кажется очень простой.Я готов округлить частное.Я знаю, что I : Integer := A/B, (где A и B - целые числа) возвращают слово.Но я хочу получить потолок.Я пытался играть с 'Ceiling 'Round 'Rounding, но ни один из них, похоже, не работает (в большинстве случаев он даже не компилировался).Я надеюсь на быстрый ответ, с элегантным (можно написать без десятка преобразований типов) решением; D

1 Ответ

7 голосов
/ 27 декабря 2011

Обычно я бы сказал

I : Integer := (A + (B - 1)) / B;

(обычно встречаются при попытке определить, сколько единиц хранения необходимо для размещения определенного количества бит).

...