|
ru.perl- RU.PERL ---------------------------------------------------------------------- From : Eugene Bodin 2:5020/400 22 Nov 2001 21:08:12 To : Pavel V. Reich Subject : Re: a%b -------------------------------------------------------------------------------- Hello Pavel, Pavel V. Reich <Pavel.V.Reich@f75.n5004.z2.fidonet.org> wrote: PVR> Еще один вопрос: PVR> есть достаточно большое число $A=1.08709863248925e+174 PVR> хочется найти остаток от деления этого числа на $B=217. Получаем нуль. Читай PVR> ошибка, ибо должно быть 60. В каком месте пинать? Для начала помедитировать над следующей задачей по физике. =head задача про поезд В поезд массой 100 тонн (1.00е+2 тонн) входит человек массой 60 кг (6.0е+1 кг). Чему равна их общая масса? =cut Если не 100 тонн, подумать ещё 2-3 раза. ;-) Теперь можно подумать, что может означать операция "%", когда первый аргумент - не целый (или большой, что, в общем, то же самое :-) ). Hапимер (по аналогии с целыми): a - b * [a / b], где [] - целая часть числа. Тогда имеем вычитание ^^ и ^^^^^^^^^^^ - очень близких чисел... PVR> Я понимаю числа большие, но работать ведь нужно этим функциям ;-) Они и работают... (Perldoc perlop: Given __integer__ operands $a and $b: If $b is positive, then $a % $b is $a minus the largest multiple of $b that is not greater than $a ) ... обещано-то только про целые. А это тоже должно работать? ;-) $result = 'five' % 'two'; # хотя, если хочется, то может :-))) PVR> может библиотека для работы с большими и страшными числами есть? лениво самому PVR> писать... Math::BigInt -- Best regards, Eugene --- ifmail v.2.15dev5 * Origin: Organization?? (2:5020/400) Вернуться к списку тем, сортированных по: возрастание даты уменьшение даты тема автор
Архивное /ru.perl/3066a5e895fd.html, оценка из 5, голосов 10
|