diff options
| author | dasJake <no_mail@github.com> | 2021-11-22 23:20:00 +0100 |
|---|---|---|
| committer | dasJake <no_mail@github.com> | 2021-11-22 23:20:00 +0100 |
| commit | 59c35349871502dd9acedfcf24a01e24fc89ec54 (patch) | |
| tree | faca31e39c2e2e0a4ff1a3c6d3fe524b734ea4f0 | |
| parent | f4eeeed382a60317c349a65658019cf110dde1ab (diff) | |
| download | perlweeklychallenge-club-59c35349871502dd9acedfcf24a01e24fc89ec54.tar.gz perlweeklychallenge-club-59c35349871502dd9acedfcf24a01e24fc89ec54.tar.bz2 perlweeklychallenge-club-59c35349871502dd9acedfcf24a01e24fc89ec54.zip | |
140 add helper binary_to_decimal
| -rw-r--r-- | challenge-140/jake/perl/bin2dec.pl | 30 |
1 files changed, 30 insertions, 0 deletions
diff --git a/challenge-140/jake/perl/bin2dec.pl b/challenge-140/jake/perl/bin2dec.pl new file mode 100644 index 0000000000..7fecc9ce09 --- /dev/null +++ b/challenge-140/jake/perl/bin2dec.pl @@ -0,0 +1,30 @@ +#!/r/bin/perl +use strict; +use warnings; + +# get input +print "binary number a: "; +my $a = <STDIN>; +chomp $a; + +my $a_decimal = binary_to_decimal ( $a, 0, 0 ); +print "$a_decimal\n"; + +sub binary_to_decimal { + my ( $binary_number, $power, $acc, $tail ) = @_; + print "begin sub with $binary_number\n"; + return $acc if $binary_number eq ''; + $tail = chop ($binary_number); + if ( $tail == 1 ) { + print "if with $binary_number\n"; + $acc += 2**$power; + $power++; + return binary_to_decimal ( $binary_number, $power, $acc ); + } + + if ( $tail == 0 ) { + print "elsf with $binary_number\n"; + $power++; + return binary_to_decimal ( $binary_number, $power, $acc ); + } +}
\ No newline at end of file |
