Я плохо разбираюсь в низкоуровневом программировании, но я хочу задать этот вопрос. Вот ведь на Python или других языках программирования 0.1 + 0.2 = 3.000...004 (также с умножением и т.д.). Почему десятичные дроби в программировании не записывают так: каждый символ числа (цифры, точка для десятичных дробей) в 2 байта (16 бит), кол-во битов с единицей в значении значит какое число (только первые 10 битов из 2-х байтов) например только первый бит - единица, только два первых - двойка и так до 9-тки, если все 10, то 0, а если все 16 битов, то это точка. А кол-во символов в числе, записывается в BigInt переменную (как в Java или JavaScript). Для примера я напишу число 6703.42109 (одна строка - один символ; 1-ый байт, пробел, 2-ой пробел; в скобочках буду писать значение этих байтов):
11111100 00000000 (6)
11111110 00000000 (7)
0000000 00000000 (0)
1110000 00000000 (3)
11111111 11111111 (.)
1111000 00000000 (4)
11000000 00000000 (2)
10000000 00000000 (1)
00000000 00000000 (0)
11111111 10000000 (9)
11111100 00000000 (6)
11111110 00000000 (7)
0000000 00000000 (0)
1110000 00000000 (3)
11111111 11111111 (.)
1111000 00000000 (4)
11000000 00000000 (2)
10000000 00000000 (1)
00000000 00000000 (0)
11111111 10000000 (9)