Вопрос по double
От: Аноним  
Дата: 13.04.07 06:41
Оценка:
Народ, почему когда в C# я пишу:

double w;
w=1/2;

после выполнения w=0.0?
Re: Вопрос по double
От: leleophan  
Дата: 13.04.07 06:49
Оценка:
Здравствуйте, Аноним, Вы писали:

А>Народ, почему когда в C# я пишу:


А>double w;

А>w=1/2;

А>после выполнения w=0.0?


в операдах выражения тип int — и результат приводится к типу int. Правильно так:

w = 1/2.0f;
Re: Вопрос по double
От: EugeneL_ Россия  
Дата: 13.04.07 07:27
Оценка:
А>Народ, почему когда в C# я пишу:

А>double w;

А>w=1/2;

А>после выполнения w=0.0?


А так:
w = 1.0 / 2.0;
?
Re: Вопрос по double
От: Lloyd Россия  
Дата: 13.04.07 08:47
Оценка:
Здравствуйте, <Аноним>, Вы писали:

А>Народ, почему когда в C# я пишу:


А>double w;

А>w=1/2;

потому что в целочисленной арифметике 1/2 == 0.
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
Re[2]: Вопрос по double
От: AK85 Беларусь  
Дата: 13.04.07 08:56
Оценка:
Здравствуйте, leleophan, Вы писали:

L>Здравствуйте, Аноним, Вы писали:


А>>Народ, почему когда в C# я пишу:


А>>double w;

А>>w=1/2;

А>>после выполнения w=0.0?


L>в операдах выражения тип int — и результат приводится к типу int. Правильно так:


L>
L>w = 1/2.0f;
L>


Тогда уже так:

w = 1D / 2D;
Re: Вопрос по double
От: FDSC Россия consp11.github.io блог
Дата: 13.04.07 09:27
Оценка:
Здравствуйте, Аноним, Вы писали:

А>Народ, почему когда в C# я пишу:


А>double w;

А>w=1/2;

А>после выполнения w=0.0?


Ребят, да что вы мучаетесь? w=0.5

Всё это даст 0,5
w = 1 / 2.0;
w = 1.0 / 2;
w = 1D / 2D;



11.1.5
If one of the operands is of an integral type, then that operand is converted to the floating-point type of
the other operand.
• Then, if either of the operands is of type double, the other operand is converted to double, the
operation is performed using at least double range and precision, and the type of the result is double
(or bool for the relational operators).
• Otherwise, the operation is performed using at least float range and precision, and the type of the
result is float (or bool for the relational operators).

 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.