Ошибка при установке Ruby 2.1.3 с RVM

Например, число 61.0 имеет точное двоичное представление, потому что интегральная часть любого числа всегда точна. Но число 6.10 не является точным. Все, что я сделал, это перемещение десятичного места, и я внезапно перешел из Exactopia в Inexactville. Математически не должно быть внутренней разницы между двумя числами - они просто цифры.

Давайте немного отстранимся от деталей баз 10 и 2. Давайте спросим base b, какие числа имеют завершающие представления, а какие нет? Мгновенная мысль говорит нам, что число x имеет завершающее b -представление тогда и только тогда, когда существует целое число n такое, что x b^n является целым числом.

Итак, например , x = 11/500 имеет завершающее 10-представление, потому что мы можем выбрать n = 3, а затем x b^n = 22, целое число. Однако x = 1/3 этого не делает, потому что независимо от того, что n мы выбрали, мы не сможем избавиться от 3.

. Этот второй пример подсказывает нам думать о факторах, и мы можем видеть, что для любого рациональный x = p/q (предполагается, что он имеет наименьшие члены), мы можем ответить на вопрос, сравнив простые факторизации b и q. Если q имеет какие-либо простые множители не в простой факторизации b, мы никогда не сможем найти подходящий n, чтобы избавиться от этих факторов.

Таким образом, для базы 10 any p/q, где q имеет простые множители, отличные от 2 или 5, не будет иметь конечного представления.

Итак, теперь, возвращаясь к основаниям 10 и 2, мы видим, что любой рациональное с завершающим 10-представлением будет иметь вид p/q точно, когда q имеет только 2 s и 5 s в своей простой факторизации; и то же число будет иметь завершающее 2-представление, когда q имеет только 2 s в своей простой факторизации.

Но один из этих случаев является подмножеством другого! Всякий раз, когда

q имеет только 2 s в своей простой факторизации

, очевидно, также верно, что

q имеет только 2 s и 5 s в своей простой факторизации

или, по-другому, когда p/q имеет завершающий 2-представление, p/q имеет завершающее 10-представление. Однако обратное, однако, имеет место не - всякий раз, когда q имеет 5 в своей простой факторизации, он будет иметь завершающее 10-представление, но не является завершающим 2-представлением. Это пример 0.1, упомянутый другими ответами.

Итак, у нас есть ответ на ваш вопрос - потому что простые множители 2 являются подмножеством простых множителей 10, все 2-оканчивающиеся числа являются 10-конечными числами, но не наоборот. Это не примерно 61 против 6.1 - это около 10 против 2.

Как заключительная заметка, если какой-то причудой люди использовали (скажем) базу 17, но наши компьютеры использовали базу 5, ваша интуиция никогда бы не была приведена в действие в этом случае - no (ненулевые, нецелые) числа, которые прекратились в обоих случаях!

23
задан Jaco Pretorius 1 October 2014 в 18:58
поделиться

1 ответ

У меня была та же проблема.

rvm reinstall 2.1.3 --disable-binary

работал для меня (на основе Fresh Installs of RVM и Ruby 2.1.1 - ошибка библиотеки dyld / pathing ).

42
ответ дан Community 1 October 2014 в 18:58
поделиться
Другие вопросы по тегам:

Похожие вопросы: