Раціональні числа
Раціональні числа є унікальною особливістю Raku. Тип даних Rat
представляє такі числа.
Внутрішньо раціональні числа є дробами з двома цілими частинами: чисельником і знаменником. Таким чином, ви можете легко представити числа, такі як 1/3, без втрати точності.
Існує кілька способів записати число типу Rat
у програмі на Raku:
my $x = 1/2;
my $y = <2/3>;
Зверніть увагу, що слеш тут є частиною нотації. Це не оператор ділення, тому 1/2
не означає, що ви ділите 1 на 2. Однак при виведенні раціональні числа показуються як десяткові числа або цілі числа:
say 1/2; # 0.5
say 3/4; # 0.75
Частина рядка після символу #
є коментарем і ігнорується компілятором. Такі коментарі будуть використовуватися в курсі для показу виводу програми.
Десяткова форма
Важливо розуміти, що коли ви записуєте число в десятковій формі, наприклад, 0.5
, Raku створює число типу Rat
в цей момент. Це не ціле число, але це також не число з плаваючою комою (float
або double
в інших мовах). Це все ще раціональне число!
Розглянемо наступний приклад:
say 0.1 + 0.2 - 0.3;
Якщо мова програмування використовує арифметику з плаваючою комою для цих обчислень, результат не буде дорівнювати 0. Вебсайт 0.30000000000000004.com надає вичерпний список прикладів, де арифметика з плаваючою комою не дає очікуваного результату.
Але Raku виводить точний 0
. Це відбувається тому, що він трактує числа 0.1
, 0.2
і 0.3
як раціональні числа і зберігає їх як 1/10
, 2/10
і 3/10
внутрішньо. Запустіть це з командного рядка, щоб підтвердити:
$ raku -e 'say 0.1 + 0.2 - 0.3'
0
Юнікодні форми
Також можливо використовувати юнікодні символи, які представляють дроби, такі як ½
або ¼
або ¾
. Можливо, не завжди легко набрати їх на клавіатурі, але ці дроби є точно такими ж значеннями, як їх ASCII версії, записані у вигляді дробу або десяткового числа:
½ |
1/2 |
<1/2> |
0.5 |
¼ |
1/4 |
<1/4> |
0.25 |
¾ |
3/4 |
<3/4> |
0.75 |
З деякими дробами, такими як 1/3
, у вас менше варіантів, ⅓
або <1/3>
, оскільки десяткова форма вимагала б нескінченної кількості цифр.
Навігація по курсу
← Числа / Цілі числа | Числа / Числа з плаваючою комою →
💪 Or jump directly to the exercises to this section.
Ця сторінка автоматично перекладена за допомогою ChatGPT 4o. Оригінальний текст англійською мовою.
Переклади цієї сторінки: English • Deutsch • Español • Italiano • Latviešu • Nederlands • Български • Русский • Українська