Pathologically Eclectic Rubbish Lister PerlMonks

### Re^2: bitwise string operator

by romano (Initiate)
 on Jun 13, 2013 at 19:49 UTC ( #1038833=note: print w/replies, xml ) Need Help??

in reply to Re: bitwise string operator

Thanks kenneethk

It took me a while to figure it out. I am putting your response in more explicit terms for neophytes like myself.

```\$Str1 = "AAAACCCCGGGGTTTT";
\$Str2 = "ACGTACGTACGTACGT";

\$cmp = \$Str1^\$Str2;
\$cmp |= '0' x length(\$cmp);

print "\$Str1\n";
print "\$Str2\n";
print "\$cmp\n";
```**OUTPUT**
AAAACCCCGGGGTTTT
ACGTACGTACGTACGT
0265204764035730
# What is ‘|=’ doing? This is bitwise ‘or’. Does ‘or’ on left side and right side (right side value is ‘0’ or 00110000). Puts result of ‘or’ in left side. Originally, the value in \$cmp for “A” ^ “G” was 00000110 (= 6) – this is ‘Acknowledgement’ – this is not a printable character.

By doing the ‘or’ with “0” (00110000 = 48) you convert ‘6’ to ‘6’ + ‘48’ = ‘54’ – this is the value for the character 6. So, \$cmp looked empty because all of the values are for non-printable characters.

A = 01000001
G = 01000111
^ 00000110 = 6 ‘Acknowledgement’

left 00000110
‘0’ 00110000
| (or) 00110110 = 54 ‘character 6’

******************

A = 01000001
T = 01010100
^ 00010101 = 21 ‘Negative Acknowledgement’

left 00010101
‘0’ 00110000
|(or) 00110101 = 53 ‘character 5’

romano (aka KennB)

Create A New User
Node Status?
node history
Node Type: note [id://1038833]
help
Chatterbox?
and all is quiet...

How do I use this? | Other CB clients
Other Users?
Others cooling their heels in the Monastery: (4)
As of 2018-05-25 23:23 GMT
Sections?
Information?
Find Nodes?
Leftovers?
Voting Booth?
World peace can best be achieved by:

Results (191 votes). Check out past polls.

Notices?