Идея двоично-десятичного представления не нова. Как минимум, 60 лет назад (а вероятно, что и ещё раньше) она имела практическую реализацию, как в аппаратной части (например, на IBM System/360), так и на языке высокого уровня (Cobol, 65 лет назад).
https://ru.wikipedia.org/wiki/Двоично-десятичный_код
Поскольку Cobol до сих пор немножко жив (в США есть спрос на опытных программистов на Cobol, в основном в финансовом секторе), то при желании можете его использовать вместе с его реализацией двоично-десятичной арифметики.
Но скорость вычислений может быть меньше на порядок по сравнению с двоичным кодированием.
ради точных вычислений
арифметика с плавающей точкой в принципе не может быть точной. Например, в вашей любимой десятичной системе вы не сможете точно записать 1/3, 1/6, 1/7, 1/9, 1/11, 1/12, 1/13, 1/14, 1/15,.. (вам для этого потребуется бесконечно много разрядов, так же как в двоичной системе для ваших примеров 2,1;3,4;45,9). Проблему можно решить арифметикой с рациональными числами, но это будет ещё на порядок медленнее даже по сравнению с двоично-десятичной арифметикой. Реализации (библиотеки) тоже существуют - можете их найти и использовать, если готовы ради точности потерять в скорости в 100, а то и в 1000 раз (иногда точность на самом деле настолько важна, спору нет, но таких задач мало). Кстати, сравните возможности арифметики рациональных чисел с возможностями длинной арифметики. :) Тут не всё так однозначно.
https://ru.wikipedia.org/wiki/Длинная_арифметика
В целом вопрос хороший в плане вашей любознательности.