0 added
1 removed
Original
2026-01-01
Modified
2026-02-26
1
<p>В математике существуют разные виды чисел, например:</p>
1
<p>В математике существуют разные виды чисел, например:</p>
2
<ul><li><strong>Натуральные</strong>- это целые числа от 1 и больше</li>
2
<ul><li><strong>Натуральные</strong>- это целые числа от 1 и больше</li>
3
<li><strong>Рациональные</strong>- это числа с точкой, например, 0.5</li>
3
<li><strong>Рациональные</strong>- это числа с точкой, например, 0.5</li>
4
</ul><p>С точки зрения устройства компьютеров, между этими видами чисел - пропасть. Попробуем сложить два рациональных числа:</p>
4
</ul><p>С точки зрения устройства компьютеров, между этими видами чисел - пропасть. Попробуем сложить два рациональных числа:</p>
5
-
<p>0.2 + 0.1 = 0.3</p>
6
<p>А теперь посмотрим, что на это скажет Java:</p>
5
<p>А теперь посмотрим, что на это скажет Java:</p>
7
<p>Операция сложения двух рациональных чисел внезапно привела к неточному вычислению результата. Тот же самый результат выдадут и другие языки программирования.</p>
6
<p>Операция сложения двух рациональных чисел внезапно привела к неточному вычислению результата. Тот же самый результат выдадут и другие языки программирования.</p>
8
<p>Такое поведение обуславливается ограничениями вычислительных мощностей. В отличие от чисел, объем памяти конечен - при этом бесконечное количество чисел требовало бы бесконечного количества памяти для своего хранения.</p>
7
<p>Такое поведение обуславливается ограничениями вычислительных мощностей. В отличие от чисел, объем памяти конечен - при этом бесконечное количество чисел требовало бы бесконечного количества памяти для своего хранения.</p>
9
<p>С натуральными числами эта проблема решается простым ограничением по верхней границе. Есть некоторое максимальное число, которое можно ввести:</p>
8
<p>С натуральными числами эта проблема решается простым ограничением по верхней границе. Есть некоторое максимальное число, которое можно ввести:</p>
10
<p>С рациональными числами такой финт не пройдет. Дело в том, что они не выстроены в непрерывную цепочку, между<em>0.1</em>и<em>0.2</em>лежит бесконечное множество чисел.</p>
9
<p>С рациональными числами такой финт не пройдет. Дело в том, что они не выстроены в непрерывную цепочку, между<em>0.1</em>и<em>0.2</em>лежит бесконечное множество чисел.</p>
11
<p>А как тогда хранить рациональные числа? Подавляющее число языков программирования в этом случае опирается на единый стандарт, который описывает, как организовывать память в таких случаях.</p>
10
<p>А как тогда хранить рациональные числа? Подавляющее число языков программирования в этом случае опирается на единый стандарт, который описывает, как организовывать память в таких случаях.</p>
12
<p>Разработчикам важно понимать, что операции с плавающими числами неточны, но эту точность можно регулировать. Это значит, что при решении задач с подобными числами необходимо прибегать к специальным трюкам, которые позволяют добиться необходимой точности.</p>
11
<p>Разработчикам важно понимать, что операции с плавающими числами неточны, но эту точность можно регулировать. Это значит, что при решении задач с подобными числами необходимо прибегать к специальным трюкам, которые позволяют добиться необходимой точности.</p>