And why don\'t they change it?
Edit: The reason ask is because I\'m new to emacs and I would like to use Emacs as a \"programmer calculator\". So, I can manipulate
The remaining 3 bits are used as flags by the Lisp interpreter. (You can get bigger integers by compiling Emacs for a 64-bit machine.)
Others have commented on why fixnums are only 29 bits wide. But if you want a programmer's calculator, check out calc. It offers arbitrary-precision integers, matrix operations, unit conversions, graphics via gnuplot, statistical functions, financial functions, scientific functions, RPN and algebraic notation, formula simplification... and it's already part of Emacs, so to get started, visit the Info node for "calc" and start at the tutorial.
The other three bits are used as a tag of the type of object. This used to be so prevalent that a number of CPU architectures included at least some support for tagged integers in their instruction sets: Sparc, Alpha, Burroughs, and the K-Machine for example. Nowadays we let the Lisp runtime deal with tags, without additional hardware support. I'd recommend reading the first link, about Sparc, if you want to get a quick overview of the history.
In many Lisp implementations, some of the bits in a word are used for a tag. This lets things like the garbage collector know what is a pointer and what isn't without having to guess.
Why do you care how big an Elisp fixnum is? You can open gigantic files as it is.
I use the Common Lisp interpreter CLISP as a programmer's calculator. Common Lisp has the sanest number handling that I've seen in any programming language; most notably, it has integers of arbitrary size, i.e. bignums, as well as rational numbers. It also has input in arbitrary number bases and bitwise functions for bignums. If you want to calculate from within Emacs, you can run CLISP in an M-x shell. As a bonus, the syntax is almost exactly the same as what you would use in Emacs Lisp.
That is only true for 32 bit architectures, and can be changed based on build options. The other bits are used for tagging the basic data structures.
You can use a 64-bit build which has larger integers, and there are packages for arbitrarily large integer arithmetic.
Or, you're just asking a rhetorical question trying to sound angry and important...