Visualizzazione dei risultati da 1 a 5 su 5
  1. #1
    Utente di HTML.it
    Registrato dal
    Nov 2003
    Messaggi
    726

    [C] Sapere la parte decimale senza l'operatore %

    Se io ho un numero, ad esempio 5 e voglio, dopo averlo diviso per 2 conoscere la sua parte decimale uso l'operatore % (modulo).

    Nel caso non potessi usarlo qual'è l'algoritmo che mi permette di eseguire le stesse operazioni del %??



    Grazie

  2. #2
    Una cosa del genere
    codice:
    	double n=5;
    	printf("%g/2 = %g\n", n, n/2 );
    	printf("%g/2 = %g (solo decimali)\n", n, (n/2-(int)n/2) );
    01010011 01100001 01101101 01110101 01100101 01101100 01100101 01011111 00110111 00110000
    All errors are undocumented features waiting to be discovered.

  3. #3
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,481

    Re: [C] Sapere la parte decimale senza l'operatore %

    Originariamente inviato da Downloader
    Se io ho un numero, ad esempio 5 e voglio, dopo averlo diviso per 2 conoscere la sua parte decimale uso l'operatore % (modulo).

    Nel caso non potessi usarlo qual'è l'algoritmo che mi permette di eseguire le stesse operazioni del %??



    Grazie
    Ma scusa ... come faresti con "carta e penna"? E' una operazione abbastanza semplice ...

  4. #4
    Se è sempre diviso per 2 (o per una potenza di 2) c'è una soluzione mooooolto più veloce:

    codice:
    int numero;
    int resto;
    
    numero = 5;
    resto = numero & 1;
    altrimenti Samuele docet...

  5. #5
    Utente di HTML.it
    Registrato dal
    Nov 2003
    Messaggi
    726
    Originariamente inviato da Samuele_70
    Una cosa del genere
    codice:
    	double n=5;
    	printf("%g/2 = %g\n", n, n/2 );
    	printf("%g/2 = %g (solo decimali)\n", n, (n/2-(int)n/2) );
    Hai ragione, a mente fredda ci sono arrivato subito.

    E' che in sto periodo sono ultra stressato e pure ste cavolate mi sembrano cose complicatissime.

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.