Hypercalc

Hypercalc is a Perl program written by Robert MunafoHypercalc — The Calculator That Doesn't Overflow at MROBPerl source code that is designed to manipulate very large numbers by storing them in a notation called "PT vectors", in which \(m \text{PT} n = 10^{10^{10^{.^{.^{.^{n}}}}}}\) with m 10's. It is licensed under the GNU General Public License, and operates through a terminal interface. The calculator can handle values up to (10^10) PT 1.0e300, or about \(10\uparrow\uparrow10^{10}\), much higher than most scientific calculators. For dealing with such large numbers, the power-tower paradox is observed.
The calculator was first programmed on a Palm Pilot, before it was ported to Perl. The upper limit on that platform was smaller, at 32,768 PT 300.
== PT operator ==
"PT" stands for "Powers of Ten".Notable Properties of Specific Numbers (page 22) at MROB All expressions that can be expressed within limits in Hypercalc use only one PT sign. Despite this, it is useful to make the PT operator left-associative as it leads to higher growth rates.
a PT b is equal to Eb#a in Hyper-E notation by identical definition.
One useful property of the PT operator is that a PT (b PT c) = (a+b) PT c.
== Hypercalc BASIC ==
Hypercalc implements a simplified version of the programming language. It supports variable assignment, printing, for-next loops, and rem statements. However, it does not include conditional statements (if/then/else), subroutines, or user-defined functions. To display the help message, type 'help basic'. Here is an example code to calculate mega which is provided in the help documentation.
5 ' Calculate Hugo Steinhaus' number "Mega"
10 let mega=256;
20 for n=1 to 256;
40 let mega = mega ^ mega;
80 next n
160 print "Mega = "; mega
320 end
== JavaScript version ==
Kenny Chan created an online versionHyperCalc JavaScript by porting the program to JavaScript. The limit of the online program is higher than the Perl version, and it's \(10\uparrow\uparrow(2^{1024})\) or approximately \(10^{308} PT 10^{34}\).
== Sources ==
ja:Hypercalc
Category:Computers