Welcome to the Monastery PerlMonks

### RE: Adding 2 + 2

by and (Pilgrim)
 on Sep 12, 2000 at 01:11 UTC ( #31989=note: print w/replies, xml ) Need Help??

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";

Create A New User
Node Status?
node history
Node Type: note [id://31989]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others lurking in the Monastery: (4)
As of 2019-10-20 21:51 GMT
Sections?
Information?
Find Nodes?
Leftovers?
Voting Booth?
In 2019 the site I miss most is:

Results (50 votes). Check out past polls.

Notices?