есть задачка: Старая английская денежная система использует три единицы для хранения денежных величин: фунты, шиллинги и пенсы. Один фунт (pound) состоит из 20 шиллингов, 1 шиллинг (shilling) – из 12 пенсов (penny, pence). Самая маленькая монета («фартинг») равняется четверти пенса, поэтому все расчеты требуется вести с точностью до ¼ пенса. Требуется создать класс для хранения информации о наличии денег в этой денежной системе. Сумма денег может быть как положительной, так и отрицательной. Максимальная (по модулю) хранимая величина – 1 млрд. фунтов....
В первом случае будет проще всего проводить арифметические операции, но многова-то памяти, по сравнению с третьим вариантом. В третьем варианте затратно будет производить арифм. операции. четвертый вариант экономнее на 25% первого, но операции по прежнему не очень удобно проводить.
Как бы вы это реализовали? Спасибо
2 вариант не рассматриваем. 3 и 4 варианты все равно будут занимать по 8 байт как и 1, из-за выравнивания. Можно выравнивание отключить и получить небольшой выигрыш по памяти, но тогда вы получите снижение производительности при работе с такими структурами.
Поэтому на самом деле рабочий вариант только один - первый.
Виртуальный выделенный сервер (VDS) становится отличным выбором
Нужно подсчитать количество потраченых ударов для убийства монстраНа вход поступают: начальный урон [d], увеличение урона при каждом ударе...
Каждый параметр абсолютно верен, но почему-то вызывается exception в std::invokeКод: Вызываемая функция:
Всем привет, Хочу сделать так, чтобы Confirm dialog (окно) невозможно было перемещать мышью