# How can I compute the range of signed and unsigned types

Florent Calvayrac fcalvay at aviion.univ-lemans.fr
Wed Apr 18 08:03:14 EDT 2001

```Chris Richard Adams wrote:
>
> How can I 'compute' the different sizes of types on the machine?  to
> prove that the values within limits.h are valid.  I also would like to
> do this for reals. Anyone have any tips - I'd appreciate it.
>
> Thanks,
> Chris
>

hi

I tease my students with the following piece
of ugly  C code (coming I think from ENS Lyon and IMAG)
try it on your pocket calculator and see the difference...

#include<stdio.h>
void
whoami(float *b, int *c)
{
float a;
for(a=1.0;((a+1.0)-a)-1.0==0.0;a=2.0*a)  ;
for(*b=1.0;((a+*b)-a)-*b!=0.0;*b=*b+1.0)   ;
*c=0;
for(a=1.0;((a+1.0)-a)-1.0==0.0;(*c)++) a=*b*a;
}

int
main()
{
float x;
int i;
whoami(&x,&i);
printf("x=%f , i=%i\n",x,i);
return(0);

}

--
Florent Calvayrac                          | Tel : 02 43 83 26 26
Laboratoire de Physique de l'Etat Condense | Fax : 02 43 83 35 18
UMR-CNRS 6087         | http://www.univ-lemans.fr/~fcalvay
Universite du Maine-Faculte des Sciences   |
72085 Le Mans Cedex 9

_______________________________________________
Beowulf mailing list, Beowulf at beowulf.org
To change your subscription (digest mode or unsubscribe) visit http://www.beowulf.org/mailman/listinfo/beowulf

```