- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
- 11
- 12
- 13
- 14
- 15
- 16
#include <stdio.h>
#include <math.h>
int main()
{
double i = 9;
i = fabs( i/2 );
while ( --i > 0 );
printf("\n %f \n", i);
if ( i == 0 )
printf ("1\n");
else if ( i == -0.5 )
printf ("2\n");
else
printf ("3\n");
}
ctm 28.01.2011 07:18 # 0
Altravert 29.01.2011 07:35 # 0
Dummy00001 29.01.2011 13:57 # +1
конечно можно было бы еще double на запчасти разобрать (мантиса, степень) и сдвигом + битовым and выдрать целую часть и из нее просто взять нижний бит. почти все актуальные процы используют IEEE 754, так что даже будет немножко портабельно.
ctm 28.01.2011 07:18 # −4
Altravert 29.01.2011 07:36 # +2
ctm 28.01.2011 07:18 # −3
ctm 28.01.2011 07:20 # −3
absolut 28.01.2011 08:32 # +5
bugmenot 28.01.2011 08:53 # +1
действительного числа же
искренне ваш, Доктор Матан
ЗЫ: я бы проверял дробную часть частного на не-больше плюс/минус бесконечно малая
rat4 28.01.2011 09:55 # 0
TarasB 28.01.2011 10:22 # −3
while ( --i > 0 );
rat4 28.01.2011 10:50 # 0
bugmenot 28.01.2011 12:28 # +2
Lure Of Chaos 28.01.2011 15:41 # 0
rat4 28.01.2011 20:50 # 0