powered by simpleCommunicator - 2.0.57     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Некорректная работа функции INT
25 сообщений из 32, страница 1 из 2
Некорректная работа функции INT
    #38168787
MMM1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Что то у меня неправильно работает функция INT.
Например на Visual Basic 2010 значение INT(1000^(1/3)) получается 9. Хотя оно равно 10.
Скажите, пожалуйста в чем проблема?
...
Рейтинг: 0 / 0
Некорректная работа функции INT
    #38168795
Фотография Изопропил
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MMM1Хотя оно равно 10.
откуда такая уверенность?
...
Рейтинг: 0 / 0
Некорректная работа функции INT
    #38168798
MMM1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ИзопропилMMM1Хотя оно равно 10.
откуда такая уверенность?
А разве корень кубический от числа 1000 не равна 10?
А целая часть от 10 как, вы понимаете равна 10.
...
Рейтинг: 0 / 0
Некорректная работа функции INT
    #38168808
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Округление без учета дробной части

Код: c#
1.
double dat = Math.Round(Math.Pow(1000, 1.0 / 3));
...
Рейтинг: 0 / 0
Некорректная работа функции INT
    #38168811
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...1000^(1/3) = 9.9999999999999982
int(9.9999999999999982) = 9
...
Рейтинг: 0 / 0
Некорректная работа функции INT
    #38168817
Фотография Изопропил
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MMM1А целая часть от 10 как, вы понимаете равна 10.
а целая часть от 9.999999999999 ?
...
Рейтинг: 0 / 0
Некорректная работа функции INT
    #38168822
MMM1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
МСУОкругление без учета дробной части
Код: c#
1.
double dat = Math.Round(Math.Pow(1000, 1.0 / 3));


Ну дело не в этом. Это же просто искуственная мера. Я же не хочу округлят.
Как я могу проверить правильности равенство Math.Pow(1000, 1.0 / 3)=Int(Math.Pow(1000, 1.0 / 3))?
На Visual Basic-е это принимается как FALSE.
...
Рейтинг: 0 / 0
Некорректная работа функции INT
    #38168828
MMM1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ИзопропилMMM1А целая часть от 10 как, вы понимаете равна 10.
а целая часть от 9.999999999999 ?
Это поятно. Но с другой стороны
1000^(1/3)=(10^3)^(1/3)=10^(3*1/3)=10^1=10.
Или я неправильно посчитал? :)
...
Рейтинг: 0 / 0
Некорректная работа функции INT
    #38168831
MMM1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
МСУ...1000^(1/3) = 9.9999999999999982
int(9.9999999999999982) = 9
Просто дело в том что как то Visual Basic неправильно считает кубический корень.
...
Рейтинг: 0 / 0
Некорректная работа функции INT
    #38168839
Фотография Изопропил
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MMM1Просто дело в том что как то Visual Basic неправильно считает кубический корень.
дело в том, что вы не знакомы с арифметикой с плавающей точкой

1000^(1/3) это не кубический корень, это его приближённое значение.
...
Рейтинг: 0 / 0
Некорректная работа функции INT
    #38168843
MMM1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ИзопропилMMM1Просто дело в том что как то Visual Basic неправильно считает кубический корень.
дело в том, что вы не знакомы с арифметикой с плавающей точкой

1000^(1/3) это не кубический корень, это его приближённое значение.
А тогда можно считать кубический корень?
...
Рейтинг: 0 / 0
Некорректная работа функции INT
    #38168847
Фотография Изопропил
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MMM1А тогда можно считать кубический корень?
"точно" - никак

использовать округление, а не получение целой части
...
Рейтинг: 0 / 0
Некорректная работа функции INT
    #38168960
Roman Mejtes
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Изопропил,
он не знаком с вычислительной математикой просто и не в курсе, о таких вещах как арифметическая погрешность, накапливаемая погрешность и т.д.
Он то в уме считает аналитическим путём, компьютер так не умеет и считает мат. методами с некой погрешность.
...
Рейтинг: 0 / 0
Некорректная работа функции INT
    #38168961
Roman Mejtes
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
автору нужно учитывать погрешность вычислений. То есть при работе с плавающей запятой использовать операцию сравнения "==" недопустимо
...
Рейтинг: 0 / 0
Некорректная работа функции INT
    #38168969
MMM1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Roman MejtesИзопропил,
он не знаком с вычислительной математикой просто и не в курсе, о таких вещах как арифметическая погрешность, накапливаемая погрешность и т.д.
Откуда такая уверенность?
Один раз спросил и люди уже из себя строят великими вычислительными математиками.
Просто я подумал что компютер при вычисление степени 1/3 для точных кубов дает точный ответ.
:)

Значит для проверки того что корен кубического от N является целым или нет, можно использовать следующее:
Код: vbnet
1.
 N = Math.Round(Math.Pow(N, 1 / 3)) ^ 3 
...
Рейтинг: 0 / 0
Некорректная работа функции INT
    #38168970
MMM1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Т.е. для целых N.
...
Рейтинг: 0 / 0
Некорректная работа функции INT
    #38169175
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MMM1Просто я подумал что компютер при вычисление степени 1/3 для точных кубов дает точный ответ
Давай отложим пока корни. Ты можешь дать "точный ответ", чему будет равняться операция 1/3?
...
Рейтинг: 0 / 0
Некорректная работа функции INT
    #38169203
MMM1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
МСУMMM1Просто я подумал что компютер при вычисление степени 1/3 для точных кубов дает точный ответ
Давай отложим пока корни. Ты можешь дать "точный ответ", чему будет равняться операция 1/3?
Ты че хочеш меня проверит что ли? Или для того чтобы понимать, что компютер принимает под 1/3 некоторое десятичное число до некоторой точности(например до 10^(-15)), нужен экстраординарное знание что ли? :)
...
Рейтинг: 0 / 0
Некорректная работа функции INT
    #38169209
Фотография Изопропил
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MMM1Или для того чтобы понимать, что компютер принимает под 1/3 некоторое десятичное число до некоторой точности(например до 10^(-15)), нужен экстраординарное знание что ли? :)
ну не десятичное, а двоичное(калькулятор Б3-34 не рассматриваем),
а знания нужны не экстраординарные, а базовые.
...
Рейтинг: 0 / 0
Некорректная работа функции INT
    #38169221
Arm79
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MMM1,

тебе пытаются сказать, что 1/3 - это десятичная дробь 0,(3). Она не является точной и ограничена возможностями машины. 0,(3) - это неточное представление рациональной дроби, лишь приближенное

Таким образом, 1000 ^ (0,(3)) - это приближенное представление кубического корня из 1000. И оно никак не может быть ровно 10.

Работа с вещественными числами - всегда работа с некоторой степенью погрешности.
...
Рейтинг: 0 / 0
Некорректная работа функции INT
    #38169237
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MMM1Ты че хочеш меня проверит что ли?
Убей себя об стену.
...
Рейтинг: 0 / 0
Некорректная работа функции INT
    #38169253
MMM1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Arm79MMM1,
тебе пытаются сказать, что 1/3 - это десятичная дробь 0,(3). Она не является точной и ограничена возможностями машины. 0,(3) - это неточное представление рациональной дроби, лишь приближенное
Таким образом, 1000 ^ (0,(3)) - это приближенное представление кубического корня из 1000. И оно никак не может быть ровно 10.
Работа с вещественными числами - всегда работа с некоторой степенью погрешности.
))) Это давно понятно! Но проблема в том что они не питаются мне сказать они питаются себе показать что они очень умные выч.математики и другие тупые. Просто можно было сказать что 1/3 это не то что в математике.
А они что? Ты того незнаеш. того непонимаеш?
Или спросить нелзя что ли?
...
Рейтинг: 0 / 0
Некорректная работа функции INT
    #38169256
MMM1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
МСУMMM1Ты че хочеш меня проверит что ли?
Убей себя об стену.
Это скорее всего тебе относиться.
...
Рейтинг: 0 / 0
Некорректная работа функции INT
    #38169258
Arm79
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MMM1,

Спросить можно
Вплоть до 13991572 все ответы были по существу, + с указанием на решение

Дальнейшее ваше упорствование привело к сомнениям в вашем понимании базовых вещей, что никак не может является оскорблением.

А уж дальше пошел чистый оффтопик
...
Рейтинг: 0 / 0
Некорректная работа функции INT
    #38169373
beg-in-er
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MMM1Скажите, пожалуйста в чем проблема?

как думаешь, сообщение появится?
Код: c#
1.
2.
double d = 1.00000018f - 1.00000029f;
if (d == 0)   MessageBox.Show("НОЛЬ!!!");
...
Рейтинг: 0 / 0
25 сообщений из 32, страница 1 из 2
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Некорректная работа функции INT
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]