1 или 1f ?

Раздел, посвящённый самому важному - скорости.

1 или 1f ?

Сообщение gnoblin 17 мар 2010, 03:00

Bот я посмотрел код в рефлекторе...
Код: Выделить всё
transform.Translate(1,1,1);
производит
Код: Выделить всё
transform.Translate((float)1,(float)1,(float)1);


Это значит, что там где подразумевается использовать дробные числа лучше и писать 1f чтобы (какой-то маленький мизер) не тратился на приведение? :-w
skypeid: madkust
Мои крайние проекты:
Убойный Хоккей
Cube Day Z (альфа)
Аватара пользователя
gnoblin
Адепт
 
Сообщения: 4633
Зарегистрирован: 08 окт 2008, 17:23
Откуда: Минск, Беларусь
Skype: madkust
  • Сайт

Re: 1 или 1f ?

Сообщение Neodrop 17 мар 2010, 04:44

Я вообще у всех чисел ставлю. Кроме инта, конечно. Даже у нолей :D
Добавить neodrop в Skype
Изображение
"Спасибо!" нашему порталу, вы сможете сказать ЗДЕСЬ.
Если проблема не решается честно, нужно её обмануть! || Per stupiditas at Astra!
Страх порождает слабость. Бесстрашных поражают пули.
Протратившись на блядях байтах, на битах не экономят.
Аватара пользователя
Neodrop
Админ
 
Сообщения: 8480
Зарегистрирован: 08 окт 2008, 15:42
Откуда: Питер
Skype: neodrop
  • Сайт

Re: 1 или 1f ?

Сообщение Tolking 17 мар 2010, 09:08

Я всегда ставлю. Взял за правило. Выражение типа float a=1/2 бывает переклинивает и получается a = 0f.
Ковчег построил любитель, профессионалы построили Титаник.
Аватара пользователя
Tolking
Адепт
 
Сообщения: 2717
Зарегистрирован: 08 июн 2009, 18:22
Откуда: Тула

Re: 1 или 1f ?

Сообщение skynet 17 мар 2010, 09:38

Так в большенстве случаев, при делении или просто использовании в функциях, если написали 1, компилятор обматерит и скажет ставь 1f
The Truth Is Out There!
Аватара пользователя
skynet
UNец
 
Сообщения: 11
Зарегистрирован: 11 янв 2010, 11:12

Re: 1 или 1f ?

Сообщение gnoblin 17 мар 2010, 12:35

Я всегда ставлю. Взял за правило. Выражение типа float a=1/2 бывает переклинивает и получается a = 0f.


Ну ты же делишь целые числа, почему должно получаться дробное 0.5f?
skypeid: madkust
Мои крайние проекты:
Убойный Хоккей
Cube Day Z (альфа)
Аватара пользователя
gnoblin
Адепт
 
Сообщения: 4633
Зарегистрирован: 08 окт 2008, 17:23
Откуда: Минск, Беларусь
Skype: madkust
  • Сайт

Re: 1 или 1f ?

Сообщение ffinder 17 мар 2010, 13:35

gnoblin писал(а):Bот я посмотрел код в рефлекторе...
Код: Выделить всё
transform.Translate(1,1,1);
производит
Код: Выделить всё
transform.Translate((float)1,(float)1,(float)1);


Это значит, что там где подразумевается использовать дробные числа лучше и писать 1f чтобы (какой-то маленький мизер) не тратился на приведение? :-w

по умолчанию 1 - целое, 1.0 - double, 1.0f - float
вполне вероятно, что компилятор может упрощать выражения и подставлять константы и overhead`а от этого нет, но лучше как лучше.
ffinder
UNITрон
 
Сообщения: 192
Зарегистрирован: 26 мар 2009, 17:35
  • Сайт

Re: 1 или 1f ?

Сообщение tumanoid 02 дек 2011, 15:13

ffinder писал(а):по умолчанию 1 - целое, 1.0 - double, 1.0f - float

Пруф?
tumanoid
UNец
 
Сообщения: 34
Зарегистрирован: 20 авг 2011, 14:21

Re: 1 или 1f ?

Сообщение DbIMok 02 дек 2011, 15:29

ну, подумаешь, человек d во втором числе пропустил )
правильный вопрос - половина ответа. учитесь формулировать вопросы понятно.
Новости > _Telegram чат @unity3d_ru (11.6k/4.8k online) > _Telegram канал @unity_news (4.7k подписчиков) > Телеграм тема > "Спасибо"
Аватара пользователя
DbIMok
Адепт
 
Сообщения: 6372
Зарегистрирован: 31 июл 2009, 14:05

Re: 1 или 1f ?

Сообщение waruiyume 02 дек 2011, 16:15

tumanoid писал(а):
ffinder писал(а):по умолчанию 1 - целое, 1.0 - double, 1.0f - float

Пруф?

Синтаксис:
Используется csharp
void Start ()
{
   var num = 1.0;
   Debug.Log(num.GetType());
}
 
Аватара пользователя
waruiyume
Адепт
 
Сообщения: 6143
Зарегистрирован: 30 окт 2010, 05:03
Откуда: Ростов на Дону

Re: 1 или 1f ?

Сообщение seaman 02 дек 2011, 22:01

d обязательно в случае: = 1d в случае =1.0 не обязательно.
double
seaman
Адепт
 
Сообщения: 8352
Зарегистрирован: 24 янв 2011, 12:32
Откуда: Самара

Re: 1 или 1f ?

Сообщение tumanoid 05 дек 2011, 06:36

Отлично. Так как Var может немного смутить, то я бы для чистоты эксперимента предложил запись вида:

Синтаксис:
Используется csharp
void Start ()
{
   Debug.Log( (3.1415).GetType() );
}
 
tumanoid
UNец
 
Сообщения: 34
Зарегистрирован: 20 авг 2011, 14:21

Re: 1 или 1f ?

Сообщение Woolf 06 дек 2011, 02:17

gnoblin писал(а):
Я всегда ставлю. Взял за правило. Выражение типа float a=1/2 бывает переклинивает и получается a = 0f.


Ну ты же делишь целые числа, почему должно получаться дробное 0.5f?


Потому, что целое делить на целое - получается дробное, что, кстати, программист явно указал, задав тип результата в float.
Вот если было бы int a=1/2 - то тут стоило компилятору ругнуться и выдать варнинг. Нормальные языки так и делают.
уНо С# не очень дружен с логикой, так что лучше указывать явно тип.
Разработчик theFisherOnline - там, где клюёт
Разработчик Atom Fishing II - Первая 3D MMO про рыбалку
Разработчик Atom Fishing - Рыбалка на поплавок, донку, нахлыст, блесну в постъядерный период.
Аватара пользователя
Woolf
Адепт
 
Сообщения: 7179
Зарегистрирован: 02 мар 2009, 16:59

Re: 1 или 1f ?

Сообщение liver9711 07 авг 2012, 07:49

transform.Translate не возьмёт int. Поэтому он сразу во float преобразует.
liver9711
UNITрон
 
Сообщения: 285
Зарегистрирован: 14 мар 2012, 11:16

Re: 1 или 1f ?

Сообщение Woolf 07 авг 2012, 08:13

Чем больше пишу на сишарпе, тем больше удивляюсь, насколько безгранична людская тупость. Это, в большей части, относится к создателям сишарпа, а в меньшей - конкретно с страусу, придумавшему этот гребаный синтаксис с большого бодуна после операции (по его собственным высказываниям). банальные конструкции приходится закромождать настолько неявным типоуказанием, что просто мозг рвет.. Как вам такое - float a=((float)(формула с участием инта)/((float)(формула с участием инта))) и попробуйте убрать хоть одну скобку... Дауны, млять.. ну почему нормальные языки вечно в игноре, а берут какие-то ублюдочные диалекты? В каком пьяном угаре вообще родилась мысль указывать тип аргумента в НАЧАЛЕ выражения, да еще в скобках, да еще и результат в скобки (т.е. вполне логичная дельфийская структура single (1/3) или пайтоновскя 1/3 as float - по версии создателей сишарпа - неверна) и вообще, в какой бухой мозг пришла идея настолько строгой типизации, что float явно не конвертируется в double и наоборот? Или какой даун выбрал double по умолчанию? Если я пишу 0.5 - я же подразумеваю самый распространенный тип single, он же float. Однако нет. Ублюдки из мелкософта считают, что ты писал про double, который если и нужен, то в очень редких случаях... Накипело.. банальное выражение float a=10/3; в той же джаве даст НОРМАЛЬНЫЙ результат в 3.3333... А в сишарпе решили, увы, по индусски.. Оно даст 3! С какого??? результат - число дробное, причем, явно указанное программистом! Каким бананом тут целочисленное деление?

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

Re: 1 или 1f ?

Сообщение Multirezonator 07 авг 2012, 10:11

Woolf писал(а):Реально, после всей этой херни хочется взять и уйти на какойнить Boo или обратно на джаву. И это я вам еще не порасказывал про загадочную реализацию сокетов и мультитрединга на сишарпе! Как говорится - "мы пойдем другим путем" (С)

Далеко на яве не уйдешь.. \:D/
Скрытый текст:



Аватара пользователя
Multirezonator
UNITрон
 
Сообщения: 248
Зарегистрирован: 15 фев 2010, 16:12
Откуда: Украина, Луганск
  • Сайт

След.

Вернуться в Оптимизация

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

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


cron