Beefy Boxes and Bandwidth Generously Provided by pair Networks vroom
We don't bite newbies here... much
 
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
in thread 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’

Thanks again for your help,

romano (aka KennB)


Comment on Re^2: bitwise string operator
Select or Download Code

Log In?
Username:
Password:

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://1038833]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others perusing the Monastery: (10)
As of 2014-04-19 06:27 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    April first is:







    Results (478 votes), past polls