

#include <stdio.h>
#include <math.h>


main_sum_float(){
int i ;
float S1;
float S2; 
S1 = 1000.0 ;
S2 = 1000.0;
for (i=0; i<10000; i++)
	S1=S1+0.1;
for (i=0; i<100000; i++)
	S2=S2+0.01;
printf("S1 float= %f \n"   , S1);
printf("S2 float= %f \n \n", S2);
}

main_sum_double(){
int i ;
double S1;
double S2; 
S1 = 1000.0 ;
S2 = 1000.0;
for (i=0; i<10000; i++)
	S1=S1+0.1;
for (i=0; i<100000; i++)
	S2=S2+0.01;
printf("S1 double= %f \n"  , S1);
printf("S2 double= %f \n \n", S2);
}

main_eq_float(){
	float a, b, c, zero, delta, s1,s2;
	int *ca, *zh;
	ca = (int *)&delta;
	zh= (int *)&zero;
	a= 0.3;
	b=2.1;
	c=3.675;
	zero=0.0;
	delta= b*b-4*a*c;
	printf ("delta (hexadecimal) = %x \n", *ca);
	printf ("delta (decimal)= %f \n", delta);
	
	if (delta < 0) {
		
		printf("float : pas de racines reelles  \n \n");
		return 0;
	}
		
	else
	{
		delta=sqrt(delta);
		printf ("sqrtdelta (hexadecimal) = %x \n", *ca);
		s1= (-b -delta)/(2*a);
		s2 = (-b+delta)/(2*a);
		
		printf("float : deux racines reelles %f %f \n \n", s1, s2);}


}

main_eq_double(){
	double a, b, c, zero, delta, s1,s2;
	int *ca, *zh;
	ca = (int *)&delta;
	zh= (int *)&zero;
	a= 0.3;
	b=2.1;
	c=3.675;
	zero=0.0;
	delta= b*b-4*a*c;
	printf ("delta (hexadecimal) = %x \n", *ca);
	printf ("delta (decimal) = %f \n", delta);
	
	if (delta < 0) {
		
		printf("double : pas de racines reelles \n \n");
		return 0;
	}
		
	else
	{
		delta=sqrt(delta);
		printf ("sqrtdelta (hexadecimal) = %x \n", *ca);
		s1= (-b -delta)/(2*a);
		s2 = (-b+delta)/(2*a);
		
		printf("double : deux racines reelles %f %f  \n \n", s1, s2);}


}

main(){
	main_sum_float();
	main_sum_double();
	main_eq_float();
	main_eq_double();
}
