nejmensi cislo na amd64


To Debian CZ/SK project discussion list <czdebian-l zavinac debian bod cz>
From Michal Hajek <hajek1 zavinac karlov bod mff bod cuni bod cz>
Date Wed, 26 Oct 2005 17:14:10 +0200
Mail-followup-to Debian CZ/SK project discussion list <czdebian-l zavinac debian bod cz>
User-agent Mutt/1.5.9i

Dobry den, 

mam debian amd64, testing a rad bych zjistil, jake nejmensi cislo muzu
ulozit do pc :) Coz je standardni ulozka. 
Napsal jsem si tenhle program v C:

#include <stdio.h>
int main()
{
long double eps;
printf("%d \n", sizeof(eps));
eps=0.01;
     while (1+eps > 1) 
     {
       eps=eps/2;
       printf("\neps= %g",eps);
     }

  printf("\n Hotovo!\n");
}

Ovsem k memu prekvapeni vypise 
16
 a pak radu _stejnych radek_ 
 eps= 6.95336e-310

 a nakonec:
 Hotovo!

Cemuz dobre nerozumim. Muzete mi prosim toto chovani objasnit? 
Kompiloval jsem pomoci prikazu:
gcc -o eps nejmensi.c
Cili zadne specialni parametry.
Pro zajimavost, kdyz vymenim "long double" za "double" tak dostanu 
sadu ruznych cisel podle predpokladu a vysledek ma hodnotu:
eps= 7.10543e-17

Predem diky za tipy :)

Zdravi Michal


Partial thread listing: