在大多数计算机程序和计算环境中,任何计算(甚至包括加法)的精度都受到计算机字长的限制,即可以存储在处理器寄存器之一中的最大数字的限制。截至 2002 年中期,最常见的处理器字长为 32 位,对应于整数 。因此,在 32 位机器上进行通用整数算术运算允许两个 32 位数字相加得到 33 位(一个字加上一个溢出位),两个 32 位数字相乘得到 64 位(尽管最流行的编程语言 C 无法直接访问高位字,并且依赖程序员创建机器语言函数或用 C 编写速度慢得多的函数,最终开销约为九次乘法),以及一个 64 位数字除以一个 32 位数字,产生一个 32 位商和一个 32 位余数/模数。
任意精度算术由一组算法、函数和数据结构组成,这些算法、函数和数据结构专门设计用于处理可以具有任意大小的数字。这些函数通常修改标准的纸笔算术技术(例如长除法),并将它们应用于分解为字大小块的数字。
创建良好的任意精度算术的一个主要困难是知道何时停止计算。二进制小数 给出了 1/3 的非终止二进制展开,这说明了这个问题的一个简单示例。由于精确数字没有终止二进制分数展开的事实,因此必须在任意精度计算系统中构建额外的功能。这可以是故障安全的形式,也可以是可配置的“最大精度”,当计算达到某个非常小的数字时,计算将始终停止。