Data commit
This commit is contained in:
parent
7387c8f97b
commit
cb5bb5e222
199093 changed files with 3378972 additions and 0 deletions
|
|
@ -0,0 +1,4 @@
|
|||
sub to2 { sprintf "%b", shift; }
|
||||
sub to16 { sprintf "%x", shift; }
|
||||
sub from2 { unpack("N", pack("B32", substr("0" x 32 . shift, -32))); }
|
||||
sub from16 { hex(shift); }
|
||||
|
|
@ -0,0 +1,16 @@
|
|||
sub base_to {
|
||||
my($n,$b) = @_;
|
||||
my $s = "";
|
||||
do {
|
||||
$s = ('0'..'9','a'..'z')[$n % $b] . $s
|
||||
} while $n = int($n / $b);
|
||||
$s
|
||||
}
|
||||
sub base_from {
|
||||
my($n,$b) = @_;
|
||||
my $t = 0;
|
||||
for my $c (split(//, lc($n))) {
|
||||
$t = $b * $t + index("0123456789abcdefghijklmnopqrstuvwxyz", $c);
|
||||
}
|
||||
$t;
|
||||
}
|
||||
|
|
@ -0,0 +1,4 @@
|
|||
use POSIX;
|
||||
my ($num, $n_unparsed) = strtol('1a', 16);
|
||||
$n_unparsed == 0 or die "invalid characters found";
|
||||
print "$num\n"; # prints "26"
|
||||
|
|
@ -0,0 +1,5 @@
|
|||
use ntheory qw/fromdigits todigitstring/;
|
||||
my $n = 65261;
|
||||
my $n16 = todigitstring($n, 16) || 0;
|
||||
my $n10 = fromdigits($n16, 16);
|
||||
say "$n $n16 $n10"; # prints "65261 feed 65261"
|
||||
Loading…
Add table
Add a link
Reference in a new issue