Это не полный ответ ( mhlester уже покрыл много хорошей основы, которую я не буду дублировать), но я хотел бы подчеркнуть, насколько представление числа зависит от базы вы работаете.
. В базе 10 хорошего ола мы обычно записываем ее как нечто вроде
Когда мы смотрим на эти представления, мы склонны связывать каждую из них с долей 2 / 3, хотя только первое представление математически равно фракции. Второе и третье представления / аппроксимации имеют ошибку порядка 0,001, что на самом деле намного хуже, чем ошибка между 9.2 и 9.1999999999999993. На самом деле, второе представление даже не округлено правильно! Тем не менее, у нас нет проблемы с 0,666 в качестве приближения числа 2/3, поэтому у нас не должно быть проблем с тем, как 9.2 аппроксимируется в большинстве программ. (Да, в некоторые программы имеют значение.)
Итак, вот здесь, где числовые базы являются crutial. Если мы пытались представить 2/3 в базе 3, то
(2/3) 10 = 0,23
blockquote>Другими словами, мы имеем точное конечное представление для того же числа путем коммутации базиса! Вывод заключается в том, что даже если вы можете преобразовать любое число в любую базу, все рациональные числа имеют точные конечные представления в некоторых базах, но не в других .
Чтобы вести эту точку домой, давайте посмотрим на 1/2. Вас может удивить, что, хотя это совершенно простое число имеет точное представление в базе 10 и 2, для него требуется повторное представление в базе 3.
(1/2) 10 = 0,510 = 0,12 = 0.1111 ... 3
blockquote>Почему числа с плавающей запятой неточны?
Поскольку часто-времена они аппроксимируют рациональные, которые не могут быть представлены конечно в основании 2 ( цифры повторяются), и в целом они аппроксимируют реальные (возможно, иррациональные) числа, которые не могут быть представлены в конечном числе цифр в любой основе.
Вы добавляете некоторые классы в раздел «Подробнее».
<div class="uk-margin-top uk-position-bottom uk-margin-medium-left uk-margin-bottom">
<a class="el-link uk-button uk-button-default" href="#" uk-scroll="">Read more</a>
</div>