HTML Diff
0 added 0 removed
Original 2026-01-01
Modified 2026-02-21
1 <p><a>#статьи</a></p>
1 <p><a>#статьи</a></p>
2 <ul><li>7 ноя 2024</li>
2 <ul><li>7 ноя 2024</li>
3 <li>0</li>
3 <li>0</li>
4 </ul><h2>Что такое действительные числа и для чего они нужны</h2>
4 </ul><h2>Что такое действительные числа и для чего они нужны</h2>
5 <p>Числа, которыми можно измерить всё.</p>
5 <p>Числа, которыми можно измерить всё.</p>
6 <p>Иллюстрация: Оля Ежак для Skillbox Media</p>
6 <p>Иллюстрация: Оля Ежак для Skillbox Media</p>
7 <p>Онлайн-журнал для тех, кто влюблён в код и информационные технологии. Пишем для айтишников и об айтишниках.</p>
7 <p>Онлайн-журнал для тех, кто влюблён в код и информационные технологии. Пишем для айтишников и об айтишниках.</p>
8 <p>Почти всё вокруг нас можно посчитать, измерить, закодировать и представить в виде чисел. В математике есть множество чисел, которыми можно описать практически все окружающие нас предметы и явления. Они называются действительными, или же вещественными.</p>
8 <p>Почти всё вокруг нас можно посчитать, измерить, закодировать и представить в виде чисел. В математике есть множество чисел, которыми можно описать практически все окружающие нас предметы и явления. Они называются действительными, или же вещественными.</p>
9 <p>В этой статье рассказываем, что такое действительные числа, откуда они взялись, где применяются, чем они отличаются от других и как представлены в памяти компьютера.</p>
9 <p>В этой статье рассказываем, что такое действительные числа, откуда они взялись, где применяются, чем они отличаются от других и как представлены в памяти компьютера.</p>
10 <p><strong>Содержание</strong></p>
10 <p><strong>Содержание</strong></p>
11 <ul><li><a>Определение действительных чисел</a></li>
11 <ul><li><a>Определение действительных чисел</a></li>
12 <li><a>Координатная прямая и действительные числа</a></li>
12 <li><a>Координатная прямая и действительные числа</a></li>
13 <li><a>Представление действительных чисел</a></li>
13 <li><a>Представление действительных чисел</a></li>
14 <li><a>Вещественные числа в памяти компьютера</a></li>
14 <li><a>Вещественные числа в памяти компьютера</a></li>
15 </ul><p><strong>Действительные (вещественные) числа</strong> - это все числа, которые можно представить на числовой прямой. К ним относятся:</p>
15 </ul><p><strong>Действительные (вещественные) числа</strong> - это все числа, которые можно представить на числовой прямой. К ним относятся:</p>
16 <ul><li>Натуральные числа (N) - это числа, которые мы используем во время порядкового счёта: 1, 2, 3, 4, 5, …</li>
16 <ul><li>Натуральные числа (N) - это числа, которые мы используем во время порядкового счёта: 1, 2, 3, 4, 5, …</li>
17 <li>Целые числа (Z) - все натуральные числа, отрицательные числа и ноль: … -3, -2, -1, 0, 1, 2, 3, 4, 5, …</li>
17 <li>Целые числа (Z) - все натуральные числа, отрицательные числа и ноль: … -3, -2, -1, 0, 1, 2, 3, 4, 5, …</li>
18 <li><a>Рациональные числа</a>(Q) - это дроби, которые можно записать как отношения двух целых чисел: ½, 0,5, -0,3333, …</li>
18 <li><a>Рациональные числа</a>(Q) - это дроби, которые можно записать как отношения двух целых чисел: ½, 0,5, -0,3333, …</li>
19 <li><a>Иррациональные числа</a>(I) - это числа с бесконечным не повторяющимся значением после запятой - например, число π, √2.</li>
19 <li><a>Иррациональные числа</a>(I) - это числа с бесконечным не повторяющимся значением после запятой - например, число π, √2.</li>
20 </ul><p>Множество действительных чисел обозначается латинской буквой R. Посмотрите на схему ниже и обратите внимание, как одно множество связано с другими:</p>
20 </ul><p>Множество действительных чисел обозначается латинской буквой R. Посмотрите на схему ниже и обратите внимание, как одно множество связано с другими:</p>
21 Схема множеств чисел, которые входят во множество действительных чисел<em>Инфографика: Skillbox Media</em><p>Эту схему можно записать в виде математического выражения N ∈ Z ∈ Q ∈ R, где ∈ означает "относится". То есть натуральное множество относится к целому, целое - к рациональному, а рациональное - к действительному.</p>
21 Схема множеств чисел, которые входят во множество действительных чисел<em>Инфографика: Skillbox Media</em><p>Эту схему можно записать в виде математического выражения N ∈ Z ∈ Q ∈ R, где ∈ означает "относится". То есть натуральное множество относится к целому, целое - к рациональному, а рациональное - к действительному.</p>
22 <p>По сути, действительные числа - это все числа, которые мы используем в повседневных и научных расчётах. Их как раз и придумали для того, чтобы измерять физические и геометрические величины - а ещё они нужны для извлечения корня, вычисления логарифмов, исследования функций и решения алгебраических уравнений.</p>
22 <p>По сути, действительные числа - это все числа, которые мы используем в повседневных и научных расчётах. Их как раз и придумали для того, чтобы измерять физические и геометрические величины - а ещё они нужны для извлечения корня, вычисления логарифмов, исследования функций и решения алгебраических уравнений.</p>
23 <p>Наглядно представить действительные числа можно с помощью координатной прямой.</p>
23 <p>Наглядно представить действительные числа можно с помощью координатной прямой.</p>
24 <p><strong>Координатная прямая</strong> - это своеобразная карта, показывающая расположение чисел на горизонтальной прямой. Её используют для демонстрации расположения чисел друг относительно друга.</p>
24 <p><strong>Координатная прямая</strong> - это своеобразная карта, показывающая расположение чисел на горизонтальной прямой. Её используют для демонстрации расположения чисел друг относительно друга.</p>
25 <p>У координатной прямой есть несколько важных особенностей:</p>
25 <p>У координатной прямой есть несколько важных особенностей:</p>
26 <ul><li><strong>Точка отсчёта.</strong>По центру координатной прямой есть точка, которая обозначается как ноль (0). Это отправная точка, относительно которой отмечают другие числа. Слева находятся числа, которые меньше нуля, справа - больше.</li>
26 <ul><li><strong>Точка отсчёта.</strong>По центру координатной прямой есть точка, которая обозначается как ноль (0). Это отправная точка, относительно которой отмечают другие числа. Слева находятся числа, которые меньше нуля, справа - больше.</li>
27 <li><strong>Направление.</strong>Числа на координатной прямой увеличиваются слева направо.</li>
27 <li><strong>Направление.</strong>Числа на координатной прямой увеличиваются слева направо.</li>
28 <li><strong>Равные расстояния.</strong>Все числа на координатной прямой располагаются с равными промежутками друг между другом. Например, между 0 и 1 расстояние будет такое же, как между -1 и 0.</li>
28 <li><strong>Равные расстояния.</strong>Все числа на координатной прямой располагаются с равными промежутками друг между другом. Например, между 0 и 1 расстояние будет такое же, как между -1 и 0.</li>
29 <li><strong>Дроби и иррациональные числа.</strong>На координатной прямой можно отобразить не только целые числа, но и дробные (0,75, ½), а также иррациональные (√2, π).</li>
29 <li><strong>Дроби и иррациональные числа.</strong>На координатной прямой можно отобразить не только целые числа, но и дробные (0,75, ½), а также иррациональные (√2, π).</li>
30 </ul><p>На координатной прямой можно отобразить только действительные числа. Комплексные числа на прямой разместить не получится, потому что у них есть дополнительная, "мнимая" часть, которая требует отдельной оси.</p>
30 </ul><p>На координатной прямой можно отобразить только действительные числа. Комплексные числа на прямой разместить не получится, потому что у них есть дополнительная, "мнимая" часть, которая требует отдельной оси.</p>
31 <p>Для примера отобразим некоторые действительные числа на координатной прямой:</p>
31 <p>Для примера отобразим некоторые действительные числа на координатной прямой:</p>
32 Действительные числа на координатной прямой<em>Инфографика: Skillbox Media</em><p>Есть несколько способов представления действительных чисел. Чаще всего встречается десятичное представление - когда число записывают в десятичной форме с использованием целой и дробной части.</p>
32 Действительные числа на координатной прямой<em>Инфографика: Skillbox Media</em><p>Есть несколько способов представления действительных чисел. Чаще всего встречается десятичное представление - когда число записывают в десятичной форме с использованием целой и дробной части.</p>
33 <p>Десятичное представление бывает конечным или бесконечным. В первом случае после запятой есть фиксированное количество чисел, а во втором - числа после запятой никогда не заканчиваются.</p>
33 <p>Десятичное представление бывает конечным или бесконечным. В первом случае после запятой есть фиксированное количество чисел, а во втором - числа после запятой никогда не заканчиваются.</p>
34 <p>Например, число 3,14159265… - десятичное представление числа π (Пи).</p>
34 <p>Например, число 3,14159265… - десятичное представление числа π (Пи).</p>
35 Десятичное представление числа<em>Инфографика: Skillbox Media</em><p>Рациональные числа действительного множества можно записать в виде дроби. В общем виде дробь записывается как отношение двух целых чисел m и n: . Число m называется числителем, а n - знаменателем.</p>
35 Десятичное представление числа<em>Инфографика: Skillbox Media</em><p>Рациональные числа действительного множества можно записать в виде дроби. В общем виде дробь записывается как отношение двух целых чисел m и n: . Число m называется числителем, а n - знаменателем.</p>
36 <p>Например, рациональное число 0,5 можно перевести в дробный вид. Получится дробь . А вот иррациональное число 3,14159265… записать в виде дроби не выйдет.</p>
36 <p>Например, рациональное число 0,5 можно перевести в дробный вид. Получится дробь . А вот иррациональное число 3,14159265… записать в виде дроби не выйдет.</p>
37 Дробное представление числа<em>Инфографика: Skillbox Media</em><p>Большие действительные числа можно записать в экспоненциальном виде - это представление числа в виде мантиссы и порядка. Такой способ позволяет сократить запись числа, например, если в нём много нулей.</p>
37 Дробное представление числа<em>Инфографика: Skillbox Media</em><p>Большие действительные числа можно записать в экспоненциальном виде - это представление числа в виде мантиссы и порядка. Такой способ позволяет сократить запись числа, например, если в нём много нулей.</p>
38 <p>Рассмотрим, как формируется экспоненциальная запись на примере числа 1 000 000 (один миллион):</p>
38 <p>Рассмотрим, как формируется экспоненциальная запись на примере числа 1 000 000 (один миллион):</p>
39 <ul><li>Старший разряд в 1 000 000 - единица (1). Это и есть мантисса числа.</li>
39 <ul><li>Старший разряд в 1 000 000 - единица (1). Это и есть мантисса числа.</li>
40 <li>Теперь разложим 1 000 000 как степень десяти. Получится 1 000 000 = 10 × 10 × 10 × 10 × 10 × 10 = 106. Степень указывает на количество нулей после мантиссы.</li>
40 <li>Теперь разложим 1 000 000 как степень десяти. Получится 1 000 000 = 10 × 10 × 10 × 10 × 10 × 10 = 106. Степень указывает на количество нулей после мантиссы.</li>
41 <li>Объединим два этих числа в экспоненциальной записи и получим 1 000 000 = 1 × 106.</li>
41 <li>Объединим два этих числа в экспоненциальной записи и получим 1 000 000 = 1 × 106.</li>
42 </ul><p><strong>Проверка</strong>: если возвести 10 в 6-ю степень и умножить на 1, получим 1 000 000. Следовательно, записи 1 × 106 и 1 000 000 - идентичны.</p>
42 </ul><p><strong>Проверка</strong>: если возвести 10 в 6-ю степень и умножить на 1, получим 1 000 000. Следовательно, записи 1 × 106 и 1 000 000 - идентичны.</p>
43 Экспоненциальное представление числа<em>Инфографика: Skillbox Media</em><p>Все числа в памяти компьютера хранятся в двоичном виде, то есть состоят из нулей и единиц. В языках программирования для хранения вещественных чисел предусмотрены типы данных float и double. Они представляют числа с помощью экспоненциальной записи. Если перевести число в битовый вид, получится запись, состоящая из трёх частей: положительного или отрицательного знака, порядка (экспоненты) и мантиссы.</p>
43 Экспоненциальное представление числа<em>Инфографика: Skillbox Media</em><p>Все числа в памяти компьютера хранятся в двоичном виде, то есть состоят из нулей и единиц. В языках программирования для хранения вещественных чисел предусмотрены типы данных float и double. Они представляют числа с помощью экспоненциальной записи. Если перевести число в битовый вид, получится запись, состоящая из трёх частей: положительного или отрицательного знака, порядка (экспоненты) и мантиссы.</p>
44 Экспоненциальное представление битов в памяти компьютера<em>Инфографика: Skillbox Media</em><p>Чтобы быстрее это понять, разберём, как хранится в памяти компьютера округлённая до сотых запись числа Пи (3,14).</p>
44 Экспоненциальное представление битов в памяти компьютера<em>Инфографика: Skillbox Media</em><p>Чтобы быстрее это понять, разберём, как хранится в памяти компьютера округлённая до сотых запись числа Пи (3,14).</p>
45 <p>Для начала заполним знаковый бит. Если число положительное, то он будет равен нулю, если отрицательное - единице. 3,14 - положительное число, значит, в 31-й индекс вписываем 0:</p>
45 <p>Для начала заполним знаковый бит. Если число положительное, то он будет равен нулю, если отрицательное - единице. 3,14 - положительное число, значит, в 31-й индекс вписываем 0:</p>
46 Знаковый бит числа Пи<em>Инфографика: Skillbox Media</em><p>Теперь вычислим двоичную мантиссу. Для этого сначала переведём целую часть в двоичное представление: 310 = 112. То же самое сделаем с дробной частью: 0,1410 = 0,00100011110101110000112.</p>
46 Знаковый бит числа Пи<em>Инфографика: Skillbox Media</em><p>Теперь вычислим двоичную мантиссу. Для этого сначала переведём целую часть в двоичное представление: 310 = 112. То же самое сделаем с дробной частью: 0,1410 = 0,00100011110101110000112.</p>
47 <p>Получившееся значение переведём в экспоненциальный вид - так, чтобы в целой части была одна единица. После преобразований число 11,00100011110101110000112 превратится в 1,100100011110101110000112 × 21.</p>
47 <p>Получившееся значение переведём в экспоненциальный вид - так, чтобы в целой части была одна единица. После преобразований число 11,00100011110101110000112 превратится в 1,100100011110101110000112 × 21.</p>
48 <p>1,10010001111010111000011 - это мантисса, а основание равно двум, потому что мы имеем дело с двоичной системой счисления. Откидываем целую часть, а всё остальное вписываем в индексы с 22-го по 0-й:</p>
48 <p>1,10010001111010111000011 - это мантисса, а основание равно двум, потому что мы имеем дело с двоичной системой счисления. Откидываем целую часть, а всё остальное вписываем в индексы с 22-го по 0-й:</p>
49 Двоичная мантисса<em>Инфографика: Skillbox Media</em><p>Осталось найти двоичную экспоненту - то, на что умножается наша мантисса. Для этого складываем степень основания 1 с числом 127: 1 + 127 = 128. 127 - это константное значение смещения экспоненты. Оно прибавляется, чтобы не тратить бит на знак степени у экспоненты.</p>
49 Двоичная мантисса<em>Инфографика: Skillbox Media</em><p>Осталось найти двоичную экспоненту - то, на что умножается наша мантисса. Для этого складываем степень основания 1 с числом 127: 1 + 127 = 128. 127 - это константное значение смещения экспоненты. Оно прибавляется, чтобы не тратить бит на знак степени у экспоненты.</p>
50 <p>Теперь переводим получившееся значение в двоичный вид и вписываем его в оставшиеся индексы - с 30-го по 23-й: 12810 = 100000002.</p>
50 <p>Теперь переводим получившееся значение в двоичный вид и вписываем его в оставшиеся индексы - с 30-го по 23-й: 12810 = 100000002.</p>
51 <p>В итоге получим 0 10000000 10010001111010111000011. Именно так число 3,14 хранится в памяти компьютера.</p>
51 <p>В итоге получим 0 10000000 10010001111010111000011. Именно так число 3,14 хранится в памяти компьютера.</p>
52 Двоичная экспонента<em>Инфографика: Skillbox Media</em><p>Предыдущий пример - обобщённый. Он нужен для понимания того, как компьютер работает с вещественными числами. В реальности при работе компьютера с действительными числами часто возникают погрешности.</p>
52 Двоичная экспонента<em>Инфографика: Skillbox Media</em><p>Предыдущий пример - обобщённый. Он нужен для понимания того, как компьютер работает с вещественными числами. В реальности при работе компьютера с действительными числами часто возникают погрешности.</p>
53 <p>Например, если в языке Java сложить числа 0,2 и 0,1, то консоль выдаст такой результат:</p>
53 <p>Например, если в языке Java сложить числа 0,2 и 0,1, то консоль выдаст такой результат:</p>
54 0,30000000000000004<p>Но постойте, мы ведь точно знаем, что 0,1 + 0,2 = 0,3. В чём же дело? Такой странный ответ получился из-за особенностей двоичной арифметики.</p>
54 0,30000000000000004<p>Но постойте, мы ведь точно знаем, что 0,1 + 0,2 = 0,3. В чём же дело? Такой странный ответ получился из-за особенностей двоичной арифметики.</p>
55 <p>Перед тем как сложить числа 0,2 и 0,1, компьютер сначала переводит их в двоичный вид. При этом у некоторых десятичных чисел нет точного значения в двоичной системе счисления. 0,2 и 0,1 - как раз из таких чисел:</p>
55 <p>Перед тем как сложить числа 0,2 и 0,1, компьютер сначала переводит их в двоичный вид. При этом у некоторых десятичных чисел нет точного значения в двоичной системе счисления. 0,2 и 0,1 - как раз из таких чисел:</p>
56 <ul><li>0,210 = 0,00110011001100…2;</li>
56 <ul><li>0,210 = 0,00110011001100…2;</li>
57 <li>0,110 = 0,00011001100110…2.</li>
57 <li>0,110 = 0,00011001100110…2.</li>
58 </ul><p>Так как нет возможности хранить в памяти бесконечное количество цифр, компьютер округляет числа - поэтому при сложении получаются неожиданные результаты.</p>
58 </ul><p>Так как нет возможности хранить в памяти бесконечное количество цифр, компьютер округляет числа - поэтому при сложении получаются неожиданные результаты.</p>
59 <p>Этой проблемы можно избежать, если использовать специальные типы данных, которые предназначены специально для десятичных чисел. Например, в Java для этого есть класс BigDecimal. Эти типы данных требуют больше памяти и работают медленнее стандартных типов float и double, но зато результат всегда будет предсказуемым.</p>
59 <p>Этой проблемы можно избежать, если использовать специальные типы данных, которые предназначены специально для десятичных чисел. Например, в Java для этого есть класс BigDecimal. Эти типы данных требуют больше памяти и работают медленнее стандартных типов float и double, но зато результат всегда будет предсказуемым.</p>
60 <p>Из-за этой особенности банковские приложения вовсе не используют десятичные числа для учёта денег, а хранят все данные в целочисленных копейках. Например, если на счету пользователя лежит 100,6 рублей, то в коде приложения эта сумма будет равна 10 060 копейкам. Благодаря этому пользователи банковского приложения могут быть уверены, что при выполнении арифметических операций содержимое их счёта не округлится в меньшую сторону.</p>
60 <p>Из-за этой особенности банковские приложения вовсе не используют десятичные числа для учёта денег, а хранят все данные в целочисленных копейках. Например, если на счету пользователя лежит 100,6 рублей, то в коде приложения эта сумма будет равна 10 060 копейкам. Благодаря этому пользователи банковского приложения могут быть уверены, что при выполнении арифметических операций содержимое их счёта не округлится в меньшую сторону.</p>
61 <p>Сегодня вы узнали, что такое множество действительных (вещественных) чисел. Повторим изученное:</p>
61 <p>Сегодня вы узнали, что такое множество действительных (вещественных) чисел. Повторим изученное:</p>
62 <ul><li>Действительные (вещественные) числа - это все целые, натуральные, рациональные и иррациональные числа.</li>
62 <ul><li>Действительные (вещественные) числа - это все целые, натуральные, рациональные и иррациональные числа.</li>
63 <li>Ноль - тоже действительное число.</li>
63 <li>Ноль - тоже действительное число.</li>
64 <li>Термины "действительные числа" и "вещественные числа" - синонимы.</li>
64 <li>Термины "действительные числа" и "вещественные числа" - синонимы.</li>
65 <li>На координатной прямой находятся все действительные числа.</li>
65 <li>На координатной прямой находятся все действительные числа.</li>
66 <li>Разные множества действительных чисел можно представить в десятичной, целой, дробной или экспоненциальной форме.</li>
66 <li>Разные множества действительных чисел можно представить в десятичной, целой, дробной или экспоненциальной форме.</li>
67 <li>Экспоненциальная форма - это значимая часть, называемая мантиссой, умноженная на основание системы счисления в определённой степени, называемой порядком, где порядок - это показатель сдвига плавающей запятой.</li>
67 <li>Экспоненциальная форма - это значимая часть, называемая мантиссой, умноженная на основание системы счисления в определённой степени, называемой порядком, где порядок - это показатель сдвига плавающей запятой.</li>
68 <li>В памяти компьютера числа хранятся в экспоненциальной двоичной форме. Она состоит из знакового бита, двоичной экспоненты и мантиссы.</li>
68 <li>В памяти компьютера числа хранятся в экспоненциальной двоичной форме. Она состоит из знакового бита, двоичной экспоненты и мантиссы.</li>
69 <li>При работе с действительными числами на компьютере будьте аккуратны, чтобы соблюсти точность вычислений.</li>
69 <li>При работе с действительными числами на компьютере будьте аккуратны, чтобы соблюсти точность вычислений.</li>
70 </ul><a><b>Бесплатный курс по Python ➞</b>Мини-курс для новичков и для опытных кодеров. 4 крутых проекта в портфолио, живое общение со спикером. Кликните и узнайте, чему можно научиться на курсе. Смотреть программу</a>
70 </ul><a><b>Бесплатный курс по Python ➞</b>Мини-курс для новичков и для опытных кодеров. 4 крутых проекта в портфолио, живое общение со спикером. Кликните и узнайте, чему можно научиться на курсе. Смотреть программу</a>