Книга: Программирование на языке Ruby

5.7. Работа с очень большими числами

5.7. Работа с очень большими числами

Управлять массами все равно что управлять немногими: дело в частях и в числе.

Сунь-Цзы[9]

При необходимости Ruby позволяет работать с произвольно большими целыми числами. Переход от Fixnum к Bignum производится автоматически, прозрачно для программиста. В следующем разделе результат оказывается настолько большим, что преобразуется из объекта Fixnum в Bignum:

num1 = 1000000   # Один миллион (10**6)
num2 = num1*num1 # Один триллион (10**12)
puts num1        # 1000000
puts num1.class  # Fixnum
puts num2        # 1000000000000
puts num2.class  # Bignum

Размер Fixnum зависит от машинной архитектуры. Вычисления с объектами Bignum ограничены только объемом памяти и быстродействием процессора. Конечно, они потребляют больше памяти и выполняются несколько медленнее, тем не менее операции над очень большими целыми (сотни знаков) реальны.

Оглавление книги

Оглавление статьи/книги

Генерация: 1.427. Запросов К БД/Cache: 3 / 0
поделиться
Вверх Вниз