Visualizzazione dei risultati da 1 a 3 su 3

Discussione: [C]epsilon macchina

  1. #1
    Utente di HTML.it
    Registrato dal
    Jun 2008
    Messaggi
    118

    [C]epsilon macchina

    Mi potete aiutare ho scritto questo progamma ma mi stampa solo zeri

    #include<stdio.h>
    float epsilonmacchina();
    main()
    { float a;
    a=epsilonmacchina();
    printf(" nel main %f",&a);
    scanf("%f",a);
    }
    float epsilonmacchina()
    {
    float epsilon=1.0;

    while((1+epsilon)>1.0)
    epsilon /= 2.0;
    printf("nella funzione %f \n",epsilon);
    return epsilon;

    }

  2. #2
    Nella printf togli la &.
    Amaro C++, il gusto pieno dell'undefined behavior.

  3. #3
    Utente di HTML.it
    Registrato dal
    Jul 2008
    Messaggi
    1,326
    Oltre al consiglio di MItaly, tieni presente che con %f non potrai mai stampare una quantità piccola come l'epsilon macchina con la giusta precisione.

    codice:
    #include<stdio.h>
    
    float epsilonmacchina();
    
    int main(void)
    {
    	float a;
    
    	a = epsilonmacchina();
    
    	printf("nel main %e\n", a);
    
    	getchar();
    	return 0;
    }
    
    float epsilonmacchina()
    {
    	float epsilon = 1.0F;
    
    	while ((1.F + epsilon) > 1.F) {
    		epsilon /= 2.F;
            }
    
    	printf("nella funzione %e\n", epsilon);
    
    	return epsilon;
    }
    codice:
    nella funzione 5.421011e-20
    nel main 5.421011e-20
    every day above ground is a good one

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.