08/03/21 23:12:27
my $alpha = q{A} ;
my %table2 = map { $_, $_ } 0..1 ;
my %table8 = map { $_, $_ } 0..7 ;
my %table16 = ( ( map {$_, $_ } 0..9 ), map{ $_, $alpha ++ } 10..15 );
$alpha = q{A} ;
my %table26 = map{ $_, $alpha ++ } 0 .. 25 ;
sub trans($$){
my %table = %{ shift @_ } ;
my $num = shift ;
my $int = keys %table ;
my $res = q{} ;
until( $num / $int <1){
$res = $table{ $num % $int } . $res ;
$num = int ( $num / $int) ;
}
return $table{$num}. $res ;
}
for ( 0 .. 1000 ){
print $_ . qq{\t}
. ( trans \%table26, $_ ) . qq{\t}
. ( trans \%table2, $_ ) . qq{\t}
. ( sprintf "%b", $_ ) . qq{\t}
. ( trans \%table8, $_ ) . qq{\t}
. ( sprintf "%o", $_ ) . qq{\t}
. ( trans \%table16, $_ ) . qq{\t}
. ( sprintf "%x", $_ ) . qq{\n}
;
}