0 / 0 / 0
Регистрация: 30.07.2023
Сообщений: 3
|
||||||||||||||||||||||||||
Деление дает неверный результат (Android Studio)31.07.2023, 00:05. Показов 1376. Ответов 13
Доброго времени суток форумчане. Впервые на данном форуме, и хотел задать вопрос:
Заметил ньюанс при выполнении простейшей операции деления целых чисел, а именно если написать так:
Вроде бы ничего необычного, обычный калькулятор покажет точно такое же значение. Однако ж, если написать:
0:1 в пользу калькулятора. Для того что бы компилятор выдал корректное значение необходимо создать переменную A, переменную B и переменную result - результат, в таком случае компилятор покажет корректный результат.
Кто нибудь знает в чем может быть причина такого неадекватного поведения (Android Studio) и почему запись
Спасибо за внимание!
0
|
31.07.2023, 00:05 | |
Ответы с готовыми решениями:
13
|
![]() |
||||||
31.07.2023, 00:55 | ||||||
0
|
Нарушитель
![]() ![]() 4520 / 2406 / 988
Регистрация: 01.06.2021
Сообщений: 8,300
|
||||||||||||||||||||||||||
31.07.2023, 23:15 | ||||||||||||||||||||||||||
101 / 4 это целочисленное деление, остаток просто сбрасывается. Т.е. будто вы изначально пишете float result = 25; а потом просто конвертируете целое число 25 в float и получаете в выводе 25,0.Чтобы получить то, что вы хотите (25,25), нужно писать:
0
|
125 / 111 / 22
Регистрация: 12.12.2020
Сообщений: 941
|
||||||
31.07.2023, 23:36 | ||||||
это даже не именно джава, а особенность самого Си. Результат то у вас float, но делите вы целые числа и результат так же получаете в целых числах, а только потом приводите к float.
Возможно поможет
0
|
Нарушитель
![]() ![]() 4520 / 2406 / 988
Регистрация: 01.06.2021
Сообщений: 8,300
|
||||||
31.07.2023, 23:44 | ||||||
выше я написал для ТС аж 4 варианта как правильно делить.
А у вас осуществляется деление двух double , а потом преобразование с потерей в float . А это ошибка error: incompatible types: possible lossy conversion from double to float. Так делать не надо.Либо придется писать:
0
|
Нарушитель
![]() ![]() 4520 / 2406 / 988
Регистрация: 01.06.2021
Сообщений: 8,300
|
|
31.07.2023, 23:49 | |
мне тоже было лень. Я проверил на https://www.onlinegdb.com/online_java_compiler. Там ошибка.
1
|
Нарушитель
![]() ![]() 4520 / 2406 / 988
Регистрация: 01.06.2021
Сообщений: 8,300
|
||||||
04.08.2023, 01:43 | ||||||
в Python тоже не будет целочисленного деления, а если нужно, чтобы оно было, то для этого есть специальный оператор:
0
|
![]() ![]() 12863 / 8901 / 1322
Регистрация: 21.01.2016
Сообщений: 33,430
|
|
04.08.2023, 11:49 | |
Ну, в JavaScript тоже такого нет. Но исключая эти языки, в остальных - везде)))
0
|
04.08.2023, 11:49 | ||||||
Помогаю со студенческими работами здесь
14
Вычисление по формуле даёт неверный результат Сравнение строк даёт неверный результат Программа дает неверный результат при вычислениях Перемножение десятизначных чисел дает неверный результат Искать еще темы с ответами Или воспользуйтесь поиском по форуму:
|
|
Новые блоги и статьи
![]() |
||||
Миграция монолита в Event-Driven микросервисную архитектуру на C#
stackOverflow 11.04.2025
Монолитная архитектура – классический подход к разработке программного обеспечения. Это приложение, построенное как единое целое, где все компоненты тесно связаны между собой. Большинство проектов. . .
|
Go в Kubernetes: Управление ресурсами
golander 11.04.2025
Разработчики Go-приложений в Kubernetes часто сталкиваются с неожиданными проблемами производительности и даже внезапными отказами контейнеров. Причина этого кроется в особенностях взаимодействия. . .
|
Агрегаты и сущности в DDD микросервисах
Javaican 10.04.2025
Разработка современных программных систем часто приводит на распутье: монолит или микросервисы? Даже при выборе микросервисной архитектуры многие команды сталкиваются с проблемой правильного. . .
|
Многопоточность в C#: Task и параллельное программирование
UnmanagedCoder 10.04.2025
Современные процессоры уже давно перестали наращивать тактовую частоту в пользу увеличения количества ядер. Это создало интересную ситуацию: разработчики, привыкшие к последовательному. . .
|
Линейное решение нелинейной задачи будет иметь приблизительный результат вычисления для метода обработки данных из double buffering.
Hrethgir 10.04.2025
Вообще изначально я пренебрёг квадратурой числа, но потом понял, что для вычисления приблизительного значения - сгодится, формулу можно будет корректировать по ходу. Это потому что прямое соотношение. . .
|
Переменные в Python
py-thonny 10.04.2025
Переменная в программировании — это символическое имя, связанное с областью памяти, в которой хранится значение. Она позволяет получать доступ к данным через понятные человеку идентификаторы, а не. . .
|
Многопоточность в C#: Task и асинхронные операции
UnmanagedCoder 10.04.2025
Многопоточность позволяет выполнять несколько операций одновременно, что важно для решения двух основных задач: повышения скорости выполнения вычислительно-сложных операций и сохранения отзывчивости. . .
|
Запуск контейнеров Docker на ARM64
Mr. Docker 09.04.2025
Появление таких решений, как Apple M1/ M2, AWS Graviton, Ampere Altra и Raspberry Pi, сделало использование ARM-систем обыденностью для многих разработчиков и DevOps-инженеров. При этом Docker,. . .
|
Vue SFC компонент на PHP с Fusion
Jason-Webb 09.04.2025
PHP на сервере и JavaScript на клиенте — классическое сочетание, которое, несмотря на свою эффективность, создает определенный когнитивный диссонанс при разработке. В этом контексте появляются. . .
|
TypeScript vs JavaScript: Отличия и когда что использовать
Reangularity 09.04.2025
JavaScript появился в 1995 году как творение Брендана Эйха и быстро стал основой интерактивности в вебе. За свою историю он прошел путь от простого языка для манипуляций с DOM до полноценной. . .
|