
05.10.2007, 09:20
|
|
Флудер
Регистрация: 27.12.2005
Сообщений: 2,372
Провел на форуме: 5339610
Репутация:
4360
|
|
2. Дана формула:
float d = 1 / 260;
d получается равным 0.0
Что за бред? пробовал менять тип float на double и decimal - не помогло.
А все просто. 1/2 тоже равна нулю, 1/3 тоже.
Анализ выражения 1/260 начинается с определения типов операндов. Оба типа - int, поэтому результат будет тоже типа инт. Производится целочисленное деление с отбрасыванием дробной части - результат 0, потом он преобразовывается к типу float и получается 0.0
Выход - нужно делить не целые числа, а дробные. 1.0/260.0
вот примерный код:
PHP код:
void gendic()
{
<текст метода>
}
void button1_Click()
{
Thread t = new Thread(gendic);
t.Start();
}
void button2_Click()
{
<ОСТАНОВКА ПОТОКА> // ???
}
Собственно C# не знаю, но догадываюсь, что объект t стоит сделать глобальным и в button2_Click() вызвать какойто его метод, отвечающий за остановку потока
|
|
|