Нет библиотек с бесконечной точностью, но есть библиотеки произвольной точности. Подробнее о том, как они реализованы, читайте в документации : -)
Для точного представления 1.1 в двоичном виде с плавающей запятой нельзя использовать, как вы правильно указали. Это можно представить, если вы сохраняете интегральную часть (1) как целое число, а дробная часть (.1) - как другое целое число, а затем вам необходимо создать логику для работы с этими структурами. Кроме того, он может храниться в виде дроби (11/10), причем знаменатель и числитель хранятся в виде целых чисел.