in reply to Turning very larger numbers into an array of bits
As BrowserUk notes: The only 80-bit numbers in common usage are the extended precision 80-bit IEEE 754 floating point values used internally by the X86 & X64 floating point processors. This would not give you 80 bits of integer precession anyway.
The IEEE 754 binary128 format will yield >100 bits of precision which would meet your 80 bit requirements. Even 265 256 (typo) bit formats have been defined. However the choice of compilers is going to be limited. There can be issues affecting stack alignment which can significantly affect performance depending upon the target processor architecture. However since these are binary formats, shifting and masking albeit across 64 bit words can be done efficiently as opposed to using some kind of BCD (Binary Coded Decimal) format.
AFAIK, the low level BCD instructions are still part of the x86 family assembly instructions, but I've never used a compiler that could use them, nor have I written any assembly code for these instructions either. In any event, that doesn't sound like what you want. For raw speed, a C or FORTRAN compiler that can handle the 128bit format would seem like a promising approach. I suspect that the Perl larger int options will be slower for the main calculations that you apparently need to do.
|
|---|