Я не знаю, для чего вы будете использовать это - но, если оба числа имеют одинаковый показатель степени, это должно быть возможно. Поскольку показатель степени сохраняется в старших разрядах, загрузка байтов с плавающей запятой (в данном случае 8 байтов) в виде целого числа и вычитание одного из другого должна дать желаемое число. Я использую структурную модель для упаковки чисел с плавающей точкой в двоичное представление, а затем распаковываю их как длинные целые (C, 8 байт):
>>> import struct
>>> a = struct.pack("dd", 1.000000,1.000001)
>>> b = struct.unpack("ll",a)
>>> b[1] - b[0]
4503599627
>>> a = struct.pack("dd", 1.000000000,1.000000001)
>>> b = struct.unpack("ll",a)
>>> b[1] - b[0]
4503600
>>>