В некоторые процессоры IBM включено выделенное десятичное аппаратное обеспечение (десятичное число с плавающей запятой | DFP-модуль).
В ответе 18 сентября в 23:43 Даниэль Приден
основная причина в том, чтоDFP-блокам требуется больше транзисторов в чипе, чем BFP-блокам.Причиной является код BCD для вычисления десятичных чисел в двоичной среде.IEEE754-2008 имеет несколько способов минимизировать перегрузку.Похоже, что метод DPD hxxp: //en.wikipedia.org/wiki/Densely_packed_decimal более эффективен по сравнению с методом BID hxxp: //en.wikipedia.org/wiki/Binary_Integer_Decimal.
Обычновам нужно 4 бита, чтобы покрыть десятичный диапазон от 0 до 9. Биты от 10 до 15 недопустимы, но все еще возможны с BCD.Следовательно, DPD сжимает 3 * 4 = 12 бит в 10 бит, чтобы охватить диапазон от 000 до 999 с 1024 (10 ^ 2) возможностями.
В общем, это означает, что BFP быстрее, чем DFP,И BFP требует меньше места на чипе, чем DFP.
На вопрос, почему IBM внедрила модуль DFP, достаточно просто ответить: они строят серверы для финансового рынка.Если данные представляют деньги, они должны быть надежными.
При десятичной арифметике с аппаратным ускорением некоторые ошибки не появляются, как в двоичном.1/5 = 0,2 => 0,0110011001100110011001100110 ... в двоичном коде, чтобы можно было избежать повторяющихся дробей.
А перегружающая функция round () в excel больше не будет бесполезной: D (-> function = 1 * (0, 5-0,4-0,1) wtf!)
надеюсь, что объясните ваш вопрос немного!