从未接触过微软的Windows 7计算器程序.令人惊讶的是,计算器程序的精度高达32位小数.Microsoft肯定不使用MPIR或其他将数字视为字符串的库.计算器程序是否使用内在函数?
我想编写一个程序,使用这些内部函数计算一个双精度到32位小数的日志.
我完全不知道MS在计算器中使用什么数学库(如果它首先是"库",而不仅仅是整个计算器代码的一部分) - 我也不是真的想知道 - 但它不是非常难以为计算器编写"多精度"函数.这句话的关键部分是"计算器",因为数学并不一定非常快.只要你能做到这四个基本的数学运算(+,-,*和/),其余的可以用生产各种系列的计算.对于30位数的精度,你可能需要比常规float或double类型的8-16位数更多的循环,但由于我们正在谈论"计算器",它并不重要,只要结果回来在十分之几秒内,没关系.现代桌面处理器将在一秒钟内完成数百万条指令.
我99%确定不涉及内在函数,因为没有直接硬件支持"大数学",内在函数通常实现硬件功能(如SSE,AVX等).
对于维基百科页面泰勒系列显示系列log和sin和数学系列页面都有不同的一系列的计算更加长名单.通常,如果您通过循环跟踪因子和除数,则可以使用加,除和乘以每循环迭代来完成这些序列计算.
编辑:计算器很可能在可能的情况下使用decimal属于C#语言的类型.