|
|
ru.algorithms- RU.ALGORITHMS ---------------------------------------------------------------- From : Evgenij Masherov 2:5020/175.2 22 Nov 2002 20:51:19 To : Igor Rudym Subject : Re: Минимальное число -------------------------------------------------------------------------------- Fri Nov 22 2002 16:21, Igor Rudym wrote to Evgenij Masherov: IR>>> Так а как найти это минимальное вещественное число (не равное 0) IR>>> , которое компьютер(компилятор) может различать? EM>> 1. Именно так, как приведено в программе. Только при выводе формат не EM>> %f, а %е. 2. Как правило, компилятор употребляет числа, аппаратно EM>> поддерживаемые проццессором (есть, конечно, исключения, типа real в EM>> Борландовском Паскале). 3. Дополнительно желательно поискать EM>> минимальное число такое, что 1!=(1+е) IR> А как вам такой алгоритмик: IR> long double max_e = 1; IR> long double last_e; IR> while(max_e>1) { IR> last_e = max_e; IR> max_e*=2; IR> } IR> cout<<"Minimal: "<<max_e<<"\n"; IR> cout<<"Maximal: "<<last_e<<"\n"; IR> Идея основана на том, что при достижении максимального числа и IR> последующего умножения на 2, значение в переменной меняется на IR> минимальное допустимое что ли. Hе пойдет. При превышении максимума происходит прерывание (а когда прерываний не было - был АВОСТ) по переполнению порядка, и, если его искусственно сбросить - значение число не определено. Евгений Машеров АКА СанитарЖеня --- ifmail v.2.15dev5 * Origin: FidoNet Online - http://www.fido-online.com (2:5020/175.2) Вернуться к списку тем, сортированных по: возрастание даты уменьшение даты тема автор
Архивное /ru.algorithms/3300779821c2.html, оценка из 5, голосов 10
|