Visualizzazione dei risultati da 1 a 8 su 8

Discussione: divisioni in C

  1. #1
    Utente di HTML.it L'avatar di maxmo
    Registrato dal
    Nov 2001
    Messaggi
    52

    divisioni in C

    qualche duno certamente sorriderà ma non riesco a dividere due interi.
    Ho x e y
    x/y=z
    x%y=m

    come faccio ad avero un float tipo z,m ?

    9 / 4= 2
    9%4=25

    totale 2,25

    sembra facile ma non riesco ad ottenere quanto sopra.
    Il giorno luminoso se n'è andato.
    La notte mi rende triste, triste.
    Ma le stelle sono tutte bianche .
    Mi sussurrano che il giorno tornerà.
    Oh stelle, piccoli pezzi del giorno!

  2. #2
    Utente di HTML.it L'avatar di minoz
    Registrato dal
    Oct 2001
    Messaggi
    219
    Una divisione tra due numeri interi restituisce un intero...
    Se per esempio fai f = 3/4.00; con f float ti restituisce invece un numero con la virgola...

  3. #3
    Utente di HTML.it L'avatar di maxmo
    Registrato dal
    Nov 2001
    Messaggi
    52
    ed il modulo % a che serve?
    Il giorno luminoso se n'è andato.
    La notte mi rende triste, triste.
    Ma le stelle sono tutte bianche .
    Mi sussurrano che il giorno tornerà.
    Oh stelle, piccoli pezzi del giorno!

  4. #4
    Originariamente inviato da maxmo
    ed il modulo % a che serve?
    Ti dà il resto (ma non si usa con i float)!

  5. #5
    Utente di HTML.it L'avatar di maxmo
    Registrato dal
    Nov 2001
    Messaggi
    52
    non riesco a capire

    #include <stdio.h>

    int main(){
    float z = 9, m = 4;
    printf("%.2lf", z / m);
    return (0);
    }

    sono due float, ma io voglio dividere due interi tipo:
    int x, y;
    x=4;
    y=3;
    float z=x/3;
    ottengo 1 e non 1.3333

    mi sono spiegato?
    Il giorno luminoso se n'è andato.
    La notte mi rende triste, triste.
    Ma le stelle sono tutte bianche .
    Mi sussurrano che il giorno tornerà.
    Oh stelle, piccoli pezzi del giorno!

  6. #6
    Utente di HTML.it L'avatar di maxmo
    Registrato dal
    Nov 2001
    Messaggi
    52
    risolto ah ah

    #include <stdio.h>

    int main(){

    int x, y;
    x=4;
    y=3;
    float z=(float)x/y;

    printf("%.2lf\n",z);
    Il giorno luminoso se n'è andato.
    La notte mi rende triste, triste.
    Ma le stelle sono tutte bianche .
    Mi sussurrano che il giorno tornerà.
    Oh stelle, piccoli pezzi del giorno!

  7. #7
    Utente di HTML.it L'avatar di minoz
    Registrato dal
    Oct 2001
    Messaggi
    219
    Esatto operatori di casting...

  8. #8
    questo succede perchè, in C, il risultato di una qualsiasi serie di operazioni fra diversi oggetti viene castata all'operatore di maggiore importanza rispetto alla gerarchia dei tipi. Essendo due int il risultato verrà castato ad int, non importa che a contenerlo sia un float un double o un char.

    bye
    There are 10 kinds of people in the world: who knows the binary numeration and who not

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.