Mike Wilson <wmwilson1 / go.com> schrieb:
>Just fooling around some, I ran this
>
>irb(main):001:0> 1020939**28329282
>
>obviously nothing good can come of this, but Ruby promptly grabbed
>some resources and began trying to compute this, finally ruby had 100%
>of the cpu and was still chugging.  Needless to say, I killed it soon
>after.

The number you're computing will roughly have 200 million decimal
digits. It may take some time until each of them is complete.


>I then tried this:
>$ perl -e 'print 1020939**28329282, "\n"'
>Infinity

Perl uses floating point arithmetic for its scalars (or 32 bit integer
if you "use integer"). There are Bignum classes on CPAN (or even in
the standard library).


>Of course, python raises an "OverflowError", I don't have NumPy.

Python treats 1020939 as a 32-bit signed integer. If you want to use
Python's long integer support, write:
  1020939L


>So I'm curious why ruby seems to have no limit on the stupidity of the
>user ;).  Perl is known to hand the user a good (tree_branch_height -
>(user_height + 1)) worth of rope, but still recognizes that this is a
>fruitless pursuit. 

tell-me-what-number-format-you-get-by-default-and-I-tell-you-which-
language-you're-using-ly y'rs,

Konrad. 

PS. My number format is better than yours. Or so. ;)

-- 
 Key-IDs (pgp.net): RSA 0x5EAB8ACD, DSS/ElG 0x22954D8A
"Und de Irmgard, und de Irmgard / w heut do, wann sie der Franz net
 wiagn tat / zerst hoda tan, wia wenn a auf sie fliagn tat / und jetzt
 w er froh, wenn sie sie wieda rian tat" (Josef Hader)