Beefy Boxes and Bandwidth Generously Provided by pair Networks BBQ
No such thing as a small change
 
PerlMonks  

RE: Adding 2 + 2

by and (Pilgrim)
on Sep 11, 2000 at 21:11 UTC ( [id://31989]=note: print w/replies, xml ) Need Help??

This is an archived low-energy page for bots and other anonmyous visitors. Please sign up if you are a human and want to interact.


in reply to Adding 2 + 2

One lunch I was complaining about how or and die get all of the good work and some of my bit-twiddling coworkers said that they hardly ever have anything to do. We went out for drinks later and they tried to teach me what they know about integers. I find it very hard to understand but I think I figured out how to do 2+2.

sub add { my( $a, $b, $bit, $cary, $sum ) = ( @{$_[0]}, 1, 0, 0 ); $sum |= $bit if 1 & ( $a ^ $b ^ $cary ); $cary = 1 & ( $a & $b | ( $cary & ($a|$b) ) ); return $a | $b ? [$a>>1,$b>>1,$bit<<1,$cary,$sum] : $sum; } my @args = map {0+$_} (@ARGV,2,2)[0,1]; my $acc = add( [@args] ); $acc = add($acc) while ref $acc; print "add[@args] = $acc\n";

Log In?
Username:
Password:

What's my password?
Create A New User
Domain Nodelet?
Node Status?
node history
Node Type: note [id://31989]
help
Sections?
Information?
Find Nodes?
Leftovers?
    Notices?
    hippoepoptai's answer Re: how do I set a cookie and redirect was blessed by hippo!
    erzuuliAnonymous Monks are no longer allowed to use Super Search, due to an excessive use of this resource by robots.