diff options
| author | Jeff Sumner <kc4fox@gmail.com> | 2021-07-17 16:53:57 -0400 |
|---|---|---|
| committer | Jeff Sumner <kc4fox@gmail.com> | 2021-07-17 16:53:57 -0400 |
| commit | 9aaff28acbbfb71998d62b01dc6ca2df394eee8e (patch) | |
| tree | 1f2bab89b17ee838ce9ba617b148697d813f48eb /challenge-121/jdos22 | |
| parent | f9cc3fe217c2e2ffbb0b2cf7396d022a16fd4d1f (diff) | |
| download | perlweeklychallenge-club-9aaff28acbbfb71998d62b01dc6ca2df394eee8e.tar.gz perlweeklychallenge-club-9aaff28acbbfb71998d62b01dc6ca2df394eee8e.tar.bz2 perlweeklychallenge-club-9aaff28acbbfb71998d62b01dc6ca2df394eee8e.zip | |
jdos22 challenge for Challenge 1.
Diffstat (limited to 'challenge-121/jdos22')
| -rw-r--r-- | challenge-121/jdos22/README | 1 | ||||
| -rw-r--r-- | challenge-121/jdos22/perl/ch-1.pl | 21 |
2 files changed, 22 insertions, 0 deletions
diff --git a/challenge-121/jdos22/README b/challenge-121/jdos22/README new file mode 100644 index 0000000000..d38c22f0be --- /dev/null +++ b/challenge-121/jdos22/README @@ -0,0 +1 @@ +Solution by jdos22 diff --git a/challenge-121/jdos22/perl/ch-1.pl b/challenge-121/jdos22/perl/ch-1.pl new file mode 100644 index 0000000000..9d797ccce0 --- /dev/null +++ b/challenge-121/jdos22/perl/ch-1.pl @@ -0,0 +1,21 @@ +#!/usr/bin/env perl +# +use 5.032; +use warnings; +use strict; + +# You are given integers 0 <= $m <= 255 and 1 <= $n <= 8. Write a script to invert $n bit from the end of the binary representation of $m and print the decimal representation of the new binary number. +# +# Here implemented as command line options. Because it's easy. +# + +my $m = shift or die "Need more numbers."; +my $n = shift or die "Need more numbers."; +if (($m > 255) || ($m < 0)) {die "Not in range 0 - 255."} +if (($n > 8) || ($n < 1)) {die "Not in range 1 - 8."} + +my $Mask = 1; +$Mask = ($Mask<<($n-1)); +my $Result = ($Mask ^ $m); + +say "New binary number is: $Result"; |
