@sakfh12

Почему при делении 5/9 получается 0.55555....6?

В некоторых калькуляторах, например, на моем смартфоне, при делении 5/9, получается бесконечная дробь, но на конце откуда-то берется 6.
Это какое-то округление, или проблема языка программирования, на котором они написаны?
Почему так происходит? Например, в стандартном калькуляторе Windows 7, проблема абсолютная такая же.
kBrIyq4.png
  • Вопрос задан
  • 144 просмотра
Пригласить эксперта
Ответы на вопрос 4
xmoonlight
@xmoonlight
https://sitecoder.blogspot.com
Всегда одинаковый остаток от деления.
Поэтому, бесконечный процесс порождает периодическую (десятичную) бесконечную дробь.

Для последнего разряда числа используется математическое округление.
Ответ написан
@res2001
Developer, ex-admin
Это проблема компьютеров в принципе - они конечные и не могут хранить бесконечные вещественные числа. Вещественные числа в компе, как правило, ограничены 8 байтами (могут быть и другие варианты). Так что по любому приходится округлять бесконечные дроби, а так же любые другие, которые не влазят в разрядную сетку. Кроме того есть и другие проблемы, вытекающие из ограниченности компьютерного представления чисел.

Встречный вопрос - а как бы вы отобразили в калькуляторе винды бесконечную дробь?
Ответ написан
@Mercury13
Программист на «си с крестами» и не только
Калькулятор Windows использует компьютерный double для трансцендентных операций, и (как, впрочем, и электронные калькуляторы) самописную десятичную арифметику для сложения/вычитания/умножения/деления. Ну и хорошо — про артефакты компьютерных (двоичных) дробных рассказывать не придётся.
Возьми и округли в десятичной системе 0,5555555555555… — разумеется, будет 0,556. Или 0,5555556 — всё зависит от того, сколько разрядов хочешь оставить.
Ответ написан
samodum
@samodum
Какой вопрос - такой и ответ
Школьный курс информатики:
https://www.yaklass.ru/p/informatika/10-klass/info...
Отсюда вытекает проблема при сравнении вещественных чисел между собой:
https://0.30000000000000004.com/

https://stackoverflow.com/questions/588004/is-floa...
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы