Is the following returning correct results?
# for https://perlmonks.org/?node_id=11110997 # by bliako, 08/01/2020 use strict; use warnings; use Math::BigInt; use Digest::SHA qw(sha256_hex); for(my $i=1;$i<=10;$i++){ # the sha as a hex string (no '0x' prepended) my $hexstr = sha256_hex($i); # to create a bigint from a hex string we need to prepend '0x' to +it my $digest = Math::BigInt->new('0x'.$hexstr); # specify accuracy and precision $digest->accuracy(80); $digest->precision(1); # operate print "$i $digest\n"; $digest /= 64; print "$i $digest\n"; }
1 48635463943209834798109814161294753926839975257569795305637098542720 +658922320 1 75992912411265366872046584627023053010687461339952805165057966473001 +0295660 2 96094161643976066833367867971426158458230048495430276217795328666133 +331159860 2 15014712756871260442713729370535337259098445077410980659030520104083 +33299370 3 35293215426786447154857697798367884701614677727176325092965345248689 +205321680 3 55145649104353823679465152809949819846272933948713007957758351951076 +8833150 4 33984360982413536682390860969296307922929415152052354251133793603654 +468157320 4 53100564035021151066235720264525481129577211175081803517396552505710 +1064960 5 10818240655469999731486825095773005325907358940236581977057259273658 +4172823450 5 16903501024171874580448164212145320821730248344119659339151967615091 +27700370 6 10492023800686533720501340709024820017001830686534338836405100876796 +5015414400 6 16393787188572708938283344857851281276565360447709904431882970119994 +53365850 7 54734117258892461880478870895348100103198302433611928089023761078319 +507514450 7 85522058217019471688248235773981406411247347552518637639099626684874 +2304910 8 20075373234943686845167158285967784892467090849631486320124245130906 +619831460 8 31367770679599510695573684821824663894479829452549197375194133017041 +5934870 9 11463511883541201508393500803711559652562721115888819482889049505863 +143503290 9 17911737318033127356864845005799311957129251743576280442014139852911 +1617240 10 3359281535163583886622750554468341756416232122807515421831543601247 +6449103320 10 5248877398693099822848047741356783994400362691886742846611786876949 +44517240
Still, I would like to find out what's going on in that loop and gets stuck to 10 !!!!
bw, bliako
In reply to Re^3: Why am I losing accuracy?
by bliako
in thread Why am I losing accuracy?
by Anonymous Monk
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |