in reply to Signed Long Hash
Math::BigInt is for arbitrary precision, it doesn't understand boundaries like "signed long".
If your Perl can handle quads in pack, you should be able to just use them, no bigint needed:
#!/usr/bin/perl use warnings; use strict; use feature qw{ say }; my $hash = '18165163011005162717'; my $signed = unpack 'q', pack 'Q', $hash; # Using 'q' woudl work, too +. say $signed eq "-281581062704388899";
($q=q:Sq=~/;[c](.)(.)/;chr(-||-|5+lengthSq)`"S|oS2"`map{chr |+ord }map{substrSq`S_+|`|}3E|-|`7**2-3:)=~y+S|`+$1,++print+eval$q,q,a,
|
---|
Replies are listed 'Best First'. | |
---|---|
Re^2: Signed Long Hash
by breezykatt (Acolyte) on Jun 15, 2017 at 17:25 UTC | |
by hippo (Bishop) on Jun 15, 2017 at 17:45 UTC | |
by breezykatt (Acolyte) on Jun 15, 2017 at 18:14 UTC | |
Re^2: Signed Long Hash
by Laurent_R (Canon) on Jun 15, 2017 at 16:21 UTC | |
Re^2: Signed Long Hash
by breezykatt (Acolyte) on Jun 15, 2017 at 16:50 UTC |
In Section
Seekers of Perl Wisdom