0 / 0 / 0
Регистрация: 30.07.2023
Сообщений: 3
|
||||||||||||||||||||||||||
1 | ||||||||||||||||||||||||||
Деление дает неверный результат (Android Studio)31.07.2023, 00:05. Показов 1076. Ответов 13
Доброго времени суток форумчане. Впервые на данном форуме, и хотел задать вопрос:
Заметил ньюанс при выполнении простейшей операции деления целых чисел, а именно если написать так:
Вроде бы ничего необычного, обычный калькулятор покажет точно такое же значение. Однако ж, если написать:
0:1 в пользу калькулятора. Для того что бы компилятор выдал корректное значение необходимо создать переменную A, переменную B и переменную result - результат, в таком случае компилятор покажет корректный результат.
Кто нибудь знает в чем может быть причина такого неадекватного поведения (Android Studio) и почему запись
Спасибо за внимание!
0
|
31.07.2023, 00:05 | |
Ответы с готовыми решениями:
13
Сравнение дат дает неверный результат Деление даёт неверный ответ Деление даёт неверный ответ, в чем ошибка? ChildWindowFromPoint даёт неверный результат |
0 / 0 / 0
Регистрация: 30.07.2023
Сообщений: 3
|
|
31.07.2023, 01:45 [ТС] | 3 |
Это не работает для Android Studio.
0
|
4299 / 2156 / 966
Регистрация: 01.06.2021
Сообщений: 7,456
|
||||||||||||||||||||||||||
31.07.2023, 23:15 | 4 | |||||||||||||||||||||||||
101 / 4 это целочисленное деление, остаток просто сбрасывается. Т.е. будто вы изначально пишете float result = 25; а потом просто конвертируете целое число 25 в float и получаете в выводе 25,0.Чтобы получить то, что вы хотите (25,25), нужно писать:
0
|
103 / 85 / 20
Регистрация: 12.12.2020
Сообщений: 733
|
||||||
31.07.2023, 23:36 | 5 | |||||
это даже не именно джава, а особенность самого Си. Результат то у вас float, но делите вы целые числа и результат так же получаете в целых числах, а только потом приводите к float.
Возможно поможет
0
|
4299 / 2156 / 966
Регистрация: 01.06.2021
Сообщений: 7,456
|
||||||
31.07.2023, 23:44 | 6 | |||||
выше я написал для ТС аж 4 варианта как правильно делить.
А у вас осуществляется деление двух double , а потом преобразование с потерей в float . А это ошибка error: incompatible types: possible lossy conversion from double to float. Так делать не надо.Либо придется писать:
0
|
103 / 85 / 20
Регистрация: 12.12.2020
Сообщений: 733
|
|
31.07.2023, 23:48 | 7 |
лень было студию запускать, проверить А разве еррор будет? Не варнинг? А, хотя на джаве может и еррор.
0
|
4299 / 2156 / 966
Регистрация: 01.06.2021
Сообщений: 7,456
|
|
31.07.2023, 23:49 | 8 |
мне тоже было лень. Я проверил на https://www.onlinegdb.com/online_java_compiler. Там ошибка.
1
|
12569 / 8750 / 1311
Регистрация: 21.01.2016
Сообщений: 32,814
|
|
03.08.2023, 18:19 | 9 |
Причём тут Си?) Это поведение везде такое. Ты сам верно описал: сначала делятся целые, а потом результат приводится к float.
0
|
103 / 85 / 20
Регистрация: 12.12.2020
Сообщений: 733
|
|
03.08.2023, 18:47 | 10 |
0
|
12569 / 8750 / 1311
Регистрация: 21.01.2016
Сообщений: 32,814
|
|
03.08.2023, 18:49 | 11 |
Alex1126, просто потому, что синтаксис похож в некоторых моментах?)
0
|
4299 / 2156 / 966
Регистрация: 01.06.2021
Сообщений: 7,456
|
||||||
04.08.2023, 01:43 | 13 | |||||
в Python тоже не будет целочисленного деления, а если нужно, чтобы оно было, то для этого есть специальный оператор:
0
|
12569 / 8750 / 1311
Регистрация: 21.01.2016
Сообщений: 32,814
|
|
04.08.2023, 11:49 | 14 |
Ну, в JavaScript тоже такого нет. Но исключая эти языки, в остальных - везде)))
0
|
04.08.2023, 11:49 | |
04.08.2023, 11:49 | |
Помогаю со студенческими работами здесь
14
Вычисление по формуле даёт неверный результат Сравнение строк даёт неверный результат Программа дает неверный результат при вычислениях Перемножение десятизначных чисел дает неверный результат Почему сравнение double значений дает неверный результат? Команда RCL дает неверный результат. Исправить код Прога дает неверный результат. ввести строку, вывести ее следующим образом Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи | |||||
Как получить индекс в цикле for в Python
bytestream 21.01.2025
При работе с коллекциями данных в Python часто возникает необходимость не только получить доступ к элементам последовательности, но и знать их позицию в процессе итерации. Индексация в циклах. . .
|
Как определить адрес, из которого локальный репозиторий Git был клонирован
bytestream 21.01.2025
В современной разработке программного обеспечения система контроля версий Git стала неотъемлемой частью рабочего процесса. При работе с Git разработчики часто сталкиваются с необходимостью. . .
|
Какая разница между операторами == и === в сравнениях в JavaScript
bytestream 21.01.2025
В мире веб-разработки JavaScript занимает особое место как динамический язык программирования, предоставляющий разработчикам широкий набор инструментов для создания интерактивных веб-приложений. . . .
|
Из чего и как собрать свой домашний кинотеатр
bt_guru 21.01.2025
Создание домашнего кинотеатра: от идеи до реализации
В современном мире домашний кинотеатр стал неотъемлемой частью комфортного жилого пространства, предоставляя возможность наслаждаться. . .
|
Ошибки стиральных машин
bt_guru 21.01.2025
Современные стиральные машины представляют собой сложные электронные устройства, оснащенные множеством датчиков и систем контроля. Они способны самостоятельно определять вес загруженного белья,. . .
|
Копирование (маппинг) объектов в JavaScript
bytestream 21.01.2025
В современной разработке программного обеспечения копирование объектов представляет собой фундаментальную операцию, которая требует особого внимания и понимания. Маппинг объектов в JavaScript – это. . .
|
Как работать с Apache Kafka в C# .NET
bytestream 21.01.2025
Apache Kafka представляет собой распределенную платформу потоковой передачи данных, которая произвела революцию в области обработки больших объемов информации в реальном времени. Эта система,. . .
|
Как использовать RabbitMQ в C# .NET
bytestream 21.01.2025
RabbitMQ представляет собой мощный брокер сообщений, который эффективно решает эту задачу, обеспечивая надежную передачу данных между множеством приложений. Этот инструмент реализует протокол AMQP. . .
|
Как объединить последние коммиты в Git
bytestream 21.01.2025
В мире разработки программного обеспечения система контроля версий Git стала незаменимым инструментом для управления исходным кодом. Одной из наиболее полезных, но порой сложных для освоения функций. . .
|
Как запушить новую локальную ветку (branch) в удалённый репозиторий Git и отслеживать её
bytestream 21.01.2025
В современной разработке программного обеспечения система контроля версий Git стала неотъемлемым инструментом для эффективного управления кодом и организации командной работы. Одной из ключевых. . .
|
Как создать директорию и все родительские директории, указанные в пути, с помощью Python
bytestream 21.01.2025
Python предоставляет мощные инструменты для работы с файловой системой через встроенные модули os и pathlib, которые значительно упрощают процесс манипуляции директориями. Эти модули содержат. . .
|
Как работать с массивами в JavaScript
bytestream 21.01.2025
Массивы в JavaScript представляют собой один из фундаментальных типов данных, который позволяет хранить упорядоченные коллекции различных элементов в одной переменной. Эта структура данных является. . .
|