One of the hall-marks of my computer usage is (La)TeX, which uses integer math for everything, so as to ensure that results are consistent from one CPU architecture to the next, so it uses the “scaled point”, 1/65,535th of a printer’s point (of which there are 72.27 to an inch) — I believe some successors have changed that base unit to be based on a Postscript point (of which there are 72 per inch), but the point still stands.
Given that metric is the default for many software programs, and that the Imperial inch was redefined in terms of the metric system, so that
1 inch == 25.4mm
that needs to be factored in, but the propensity of traditional units to be divided into halves and quarters and sixths and twelfths and so forth similar seems worthy of consideration.
Experimenting in OpenSCAD the 3D preview works all the way up through:
cube([10,10,7000000000000000000]);
//7,000,000,000,000,000,000
so large values shouldn’t be an issue at that end.
If we then take 72 as a base unit, double it several times to arrive at some reasonably large value (I picked 1,152) and multiply that times 254 we get:
1152 * 254 = 292608
and if we then pad that out with some zeroes we should arrive at a number, which when multiplied by pretty much any measurement one is likely to work with, then have some math operation applied to it, then convert it back by dividing by that number should work as an integer to yield an exact result.
Aside from the added overhead of having to multiply and divide to get into/out of this arbitrary unit system are there any potential problems?