Книга: Программирование на языке Ruby
5.2. Основные операции над числами
5.2. Основные операции над числами
Обычные операции сложения, вычитания, умножения и деления в Ruby, как и во всех распространенных языках программирования, обозначаются операторами +
, -
, *
, /
. Операторы в большинстве своем реализованы в виде методов (и потому могут быть переопределены).
Возведение в степень обозначается оператором **
, как в языках BASIC и FORTRAN. Эта операция подчиняется обычным математическим правилам.
а = 64**2 # 4096
b = 64**0.5 # 8.0
с = 64**0 # 1
d = 64**-1 # 0.015625
При делении одного целого числа на другое дробная часть результата отбрасывается. Это не ошибка, так и задумано. Если вы хотите получить результат с плавающей точкой, позаботьтесь о том, чтобы хотя бы один из операндов был числом c плавающей точкой.
3 / 3 # 3
5 / 3 # 1
3 / 4 # 0
3.0 / 4 # 0.75
3 / 4.0 # 0.75
3.0 / 4.0 # 0.75
Если вы работаете с переменными и сомневаетесь относительно их типа, воспользуйтесь приведением типа к Float
или методом to_f
:
z = x.to_f / у z = Float(x) / y
См. также раздел 5.17 «Поразрядные операции над числами».
- 5.1. Представление чисел в языке Ruby
- 5.2. Основные операции над числами
- 5.3. Округление чисел с плавающей точкой
- 5.4. Сравнение чисел с плавающей точкой
- 5.5. Форматирование чисел для вывода
- 5.6. Вставка разделителей при форматировании чисел
- 5.7. Работа с очень большими числами
- 5.8. Использование класса BigDecimal
- 5.9. Работа с рациональными числами
- 5.10. Перемножение матриц
- 5.11. Комплексные числа
- 5.12. Библиотека mathn
- 5.13. Разложение на простые множители, вычисление НОД и НОК
- 5.14. Простые числа
- 5.15. Явные и неявные преобразования чисел
- 5.16. Приведение числовых значений
- 5.17. Поразрядные операции над числами
- 5.18. Преобразование системы счисления
- 5.19. Извлечение кубических корней, корней четвертой степени и т.д.
- 5.20. Определение порядка байтов
- 5.21. Численное вычисление определенного интеграла
- 5.22. Тригонометрия в градусах, радианах и градах
- 5.23. Неэлементарная тригонометрия
- 5.24. Вычисление логарифмов по произвольному основанию
- 5.25. Вычисление среднего, медианы и моды набора данных
- 5.26. Дисперсия и стандартное отклонение
- 5.27. Вычисление коэффициента корреляции
- 5.28. Генерирование случайных чисел
- 5.29. Кэширование функций с помощью метода memoize
- 5.30. Заключение
- 2.2. Арифметические операции над числами, представленными в различных системах счисления
- Основные параметры ЭЛТ-мониторов
- Восстановление "безнадежных" баз данных. InterBase Surgeon
- Основные "рычаги" управления производительностью
- Что делать, если при установке принтера появляется сообщение Невозможно завершение операции. Подсистема печати недоступн...
- Надежность и безопасность
- 1.1. Информатика. Предмет информатики. Основные задачи информатики
- 11 Основные возражения и ответы на них
- 2.5. Разработка технического задания на проведение детального анализа рынка при работе над инновационным проектом. Основ...
- Операции с множествами узлов
- 3.1. Основные нормативные руководящие документы, касающиеся государственной тайны
- 4. Null-значения и логические операции