Какой то бред с арифметикой

Программирование на Юнити.

Какой то бред с арифметикой

Сообщение VaVter 25 ноя 2018, 13:18

Я уже 3 часа не могу понять, как это работает.
Почему когда я делю 9 на 10 получаю 0.

В видео ниже, все явно показано
VaVter
UNец
 
Сообщения: 15
Зарегистрирован: 30 окт 2016, 14:29

Re: Какой то бред с арифметикой

Сообщение 1max1 25 ноя 2018, 14:03

(float)mana / max_mana;
Аватара пользователя
1max1
Адепт
 
Сообщения: 5505
Зарегистрирован: 28 июн 2017, 10:51

Re: Какой то бред с арифметикой

Сообщение lawson 25 ноя 2018, 14:29

Почему когда я делю 9 на 10 получаю 0.

потому что вы делите целые числа.
lawson
UNIверсал
 
Сообщения: 481
Зарегистрирован: 14 сен 2012, 21:20

Re: Какой то бред с арифметикой

Сообщение VaVter 25 ноя 2018, 15:01

И зачем оно так? Это типо удобно?!
Мне, конечно не сложно поставит float и все заработает. Но реально зачем так? Я о таком и не знал.
На чем я ранее не кодил, везде: int 9 / float 10 = float 0.9

Если кому не сложно объясните зачем это.
VaVter
UNец
 
Сообщения: 15
Зарегистрирован: 30 окт 2016, 14:29

Re: Какой то бред с арифметикой

Сообщение waruiyume 25 ноя 2018, 15:20

А чего вы видео в таком высоком разрешении сняли то? Надо было, помимо того, что без звука, еще и в 240p виде снять- чтоб вообще нихера не было понятно.
Главное текстовый вариант кода не надо постить, ни в коем случае!
А да, ответ 42.
Аватара пользователя
waruiyume
Адепт
 
Сообщения: 6143
Зарегистрирован: 30 окт 2010, 05:03
Откуда: Ростов на Дону

Re: Какой то бред с арифметикой

Сообщение VaVter 25 ноя 2018, 15:36

waruiyume писал(а):А чего вы видео в таком высоком разрешении сняли то? Надо было, помимо того, что без звука, еще и в 240p виде снять- чтоб вообще нихера не было понятно.
Главное текстовый вариант кода не надо постить, ни в коем случае!
А да, ответ 42.


Дак видосом проще. Разве нет? Зачем мне писать кучу текста, если я могу сделать видос длительностью менее 1 минуты. И мне и вам проще. Единственное, стоило приложить полный код, но я подумал, что не стоит.
Орех звук не пишет, качество стандартное.

А по поводу ответа, я так понимаю, объяснения этому нет.
VaVter
UNец
 
Сообщения: 15
Зарегистрирован: 30 окт 2016, 14:29

Re: Какой то бред с арифметикой

Сообщение waruiyume 25 ноя 2018, 15:54

Есть, во всём виноват сами знаете кто.
Синтаксис:
Используется csharp
Debug.LogFormat("{0} {1}", 9f/10, 9/10f);//0.9 0.9
 
Аватара пользователя
waruiyume
Адепт
 
Сообщения: 6143
Зарегистрирован: 30 окт 2010, 05:03
Откуда: Ростов на Дону

Re: Какой то бред с арифметикой

Сообщение lawson 25 ноя 2018, 16:14

А по поводу ответа, я так понимаю, объяснения этому нет.

увы машина, в отличие от человека разные типы чисел представляет по разному, отсюда одни и те же операции с ними выполняются тоже по разному.

Более правильный ответ можно получить если почитать чем int отличается от float, а еще можно окунуться в историю и разобраться зачем вообще были введены эти разные типы, после этого у вас вообще не останется вопросов, да и полезно будет.
lawson
UNIверсал
 
Сообщения: 481
Зарегистрирован: 14 сен 2012, 21:20

Re: Какой то бред с арифметикой

Сообщение waruiyume 25 ноя 2018, 16:26

Судя по:
"На чем я ранее не кодил, везде: int 9 / float 10 = float 0.9"
ОП как бы знает, что так бывает, и при помощи телепатии(кода то нет) я предполагаю, что автор думает, что не работает из-за того, что первое число не флот.
Аватара пользователя
waruiyume
Адепт
 
Сообщения: 6143
Зарегистрирован: 30 окт 2010, 05:03
Откуда: Ростов на Дону

Re: Какой то бред с арифметикой

Сообщение VaVter 25 ноя 2018, 16:30

1max1 писал(а):(float)mana / max_mana;

Я все пофиксил еще после этого сообщения
VaVter
UNец
 
Сообщения: 15
Зарегистрирован: 30 окт 2016, 14:29

Re: Какой то бред с арифметикой

Сообщение VaVter 25 ноя 2018, 16:35

все бы люди вот так отличали:
lawson писал(а):
А по поводу ответа, я так понимаю, объяснения этому нет.

увы машина, в отличие от человека разные типы чисел представляет по разному, отсюда одни и те же операции с ними выполняются тоже по разному.

Более правильный ответ можно получить если почитать чем int отличается от float, а еще можно окунуться в историю и разобраться зачем вообще были введены эти разные типы, после этого у вас вообще не останется вопросов, да и полезно будет.


а не так:
waruiyume писал(а):А чего вы видео в таком высоком разрешении сняли то? Надо было, помимо того, что без звука, еще и в 240p виде снять- чтоб вообще нихера не было понятно.
Главное текстовый вариант кода не надо постить, ни в коем случае!
А да, ответ 42.


и не так:
waruiyume писал(а):Есть, во всём виноват сами знаете кто.
Синтаксис:
Используется csharp
Debug.LogFormat("{0} {1}", 9f/10, 9/10f);//0.9 0.9
 

очень информативный текстовый вариант ага
VaVter
UNец
 
Сообщения: 15
Зарегистрирован: 30 окт 2016, 14:29

Re: Какой то бред с арифметикой

Сообщение VaVter 25 ноя 2018, 16:38

VaVter писал(а):На чем я ранее не кодил, везде: int 9 / float 10 = float 0.9

тут я просто ошибся и хотел написать int а не float
VaVter
UNец
 
Сообщения: 15
Зарегистрирован: 30 окт 2016, 14:29

Re: Какой то бред с арифметикой

Сообщение 1max1 25 ноя 2018, 17:31

Такой детский вопрос, а столько сообщений...
Аватара пользователя
1max1
Адепт
 
Сообщения: 5505
Зарегистрирован: 28 июн 2017, 10:51

Re: Какой то бред с арифметикой

Сообщение Friend123 25 ноя 2018, 19:36

Дык, если вы программист, то должны понимать, что деление - это почти всегда результат float, даже если получается целое. Так не будет ошибок и подобных вопросов.
Аватара пользователя
Friend123
Старожил
 
Сообщения: 701
Зарегистрирован: 26 фев 2012, 22:12
Откуда: Тверь
  • ICQ

Re: Какой то бред с арифметикой

Сообщение Woolf 26 ноя 2018, 00:51

Вообще, конечно, возмущение человека понятно. Этот самый мозголомный и странный "систайл" когда при делении чисел (неважно, целых или дробных) получается целое, когда во многих (да всех) языках при делении получается именно дробное.. Но сишники не ищут легких путей, сказано целое, значит будет целое. И плевать, что из-за этой малости рождено миллионы трудноуловимых багов.
Разработчик theFisherOnline - там, где клюёт
Разработчик Atom Fishing II - Первая 3D MMO про рыбалку
Разработчик Atom Fishing - Рыбалка на поплавок, донку, нахлыст, блесну в постъядерный период.
Аватара пользователя
Woolf
Адепт
 
Сообщения: 7179
Зарегистрирован: 02 мар 2009, 16:59

След.

Вернуться в Скрипты

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 7


cron