Article View: pl.comp.lang.perl
Article #52169Re: niedokładność biginta
From: Maciej Misiak
Date: Wed, 19 Jan 2011 22:31
Date: Wed, 19 Jan 2011 22:31
45 lines
2341 bytes
2341 bytes
W dniu 2011-01-19 23:11, Stachu 'Dozzie' K. pisze: > On 2011-01-19, Maciej Misiak<grizzley@poczta.onet.pl> wrote: >> Help. >> >> #!perl -l >> >> use bigint; >> >> ($x,$y)=split/ /, "26315789473684210 5"; >> ($l,$m)=($y.$x,$x.$y); >> $xx=$l/$m; >> print$l,' ', $m,' ',$xx, ' ', $xx*$m, ' ', $xx*$m-$l; >> die if $xx*$m!=$l; >> >> >> Ja mam w wyniku die, choć nie powinienem: >> 526315789473684210 263157894736842105 2 5.26315789473684e+017 64 >> Died at p168test.pl line 9. > > No też bym się czegoś innego spodziewał. Przepisałem twój skrypt na > nieco bardziej widoczny: > <....> > > Bingo! > > #v+ > Can't call method "isa" without a package or object reference at ./test.pl line 8. > #v- > > Znaczy: póki $l i $m są stringami, nie mogą być podmiotem operacji, > które wykonuje `use bigint'. Zamiana $l i $m na na-pewno-liczby pomaga: Ach zbawco! Jednak pójdę spać spokojny, że to nie wina Perla :) Z drugiej strony poburczeć sobie trochę poburczę, bo to bez sensu, że wszystkie operacje się zachowują jak przy zwykłych intach, a jedna jedyna konwersja ze stringa nie :/ (chyba, że źle interpretuję miejsce "błędu") Co ciekawe, wystarczyło skonwertować na siłę tylko licznik albo mianownik, niekoniecznie oba. Dzięki za analizę! -- grizzley
Technical Details
Message-ID:
<ih7op9$o0s$1@news.onet.pl>Path:
mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.rmf.pl!agh.edu.pl!news.agh.edu.pl!news.onet.pl!.POSTED!not-for-mailReferences:
<ih7lun$ctt$1@news.onet.pl> <ih7nid$rjs$1@solani.org>Show Full Headers
Complete Article Headers
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.rmf.pl!agh.edu.pl!news.agh.edu.pl!news.onet.pl!.POSTED!not-for-mail From: Maciej Misiak <grizzley@poczta.onet.pl> Newsgroups: pl.comp.lang.perl Subject: Re: niedokładność biginta Date: Wed, 19 Jan 2011 23:31:59 +0100 Organization: http://onet.pl Lines: 45 Message-ID: <ih7op9$o0s$1@news.onet.pl> References: <ih7lun$ctt$1@news.onet.pl> <ih7nid$rjs$1@solani.org> NNTP-Posting-Host: ip-62-69-199-251.globalconnect.pl Mime-Version: 1.0 X-Trace: news.onet.pl 1295476329 24604 62.69.199.251 (19 Jan 2011 22:32:09 GMT) X-Complaints-To: niusy@onet.pl NNTP-Posting-Date: Wed, 19 Jan 2011 22:32:09 +0000 (UTC) User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; pl; rv:1.9.2.13) Gecko/20101207 Thunderbird/3.1.7 ThunderBrowse/3.3.4 In-Reply-To: <ih7nid$rjs$1@solani.org> X-Antivirus: avast! (VPS 110119-0, 2011-01-19), Outbound message X-Antivirus-Status: Clean Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit