Archives


- Beowulf
- Beowulf Announce
- Scyld-users
- Beowulf on Debian

How can I compute the range of signed and unsigned types

Many of your questions may have already been answered in earlier discussions or in the FAQ. The search results page will indicate current discussions as well as past list serves, articles, and papers.

Search

Florent Calvayrac fcalvay at aviion.univ-lemans.fr
Wed Apr 18 05:03:14 PDT 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





More information about the Beowulf mailing list