Это хороший вопрос.
Весь ваш вопрос основан на «как мы представляем число?»
ВСЕ числа могут быть представлены десятичным представлением или с двоичным (Дополнение 2-го). Все они !!
НО некоторые (большинство из них) требуют бесконечного количества элементов («0» или «1» для двоичной позиции или «0», «1» - «9» для десятичное представление).
Как 1/3 в десятичном представлении (1/3 = 0,33333333 ... & lt; - с бесконечным числом «3»)
Как 0,1 в двоичный (0,1 = 0,00011001100110011 .... & lt; - с бесконечным числом «0011»)
Все в этой концепции. Поскольку ваш компьютер может рассматривать только конечный набор цифр (десятичный или двоичный), только некоторые цифры могут быть точно представлены на вашем компьютере ...
И, как сказал Джон, 3 - простое число, которое не является в 10 раз, поэтому 1/3 не может быть представлено конечным числом элементов в основании 10.
Даже с арифметикой с произвольной точностью система нумерации в базе 2 не может полностью описать 6.1 , хотя он может представлять 61.
Для 6.1 мы должны использовать другое представление (например, десятичное представление или IEEE 854, которое допускает базу 2 или base 10 для представления значений с плавающей запятой)