Visualizzazione dei risultati da 1 a 8 su 8
  1. #1

    [c++] Costanti definite

    nell'espressione x+5 il 5 viene interpretato come intero!

    se invece scrivo x+5F il 5 viene interpretato come float , 5D come double ect ect..


    In che contesto può essere utile avere una costante definita ? :master:
    E' tutta colpa di Berlusconi !
    Help [Ciclico] Fisco, domande varie

    Avatar

  2. #2

  3. #3
    Moderatore di Programmazione L'avatar di LeleFT
    Registrato dal
    Jun 2003
    Messaggi
    17,303
    Originariamente inviato da kentaromiura
    printf("%g",3D);
    printf("%g",3F);
    A me dà 2 errori in compilazione:

    - Invalid suffix on integer constant
    - Invalid suffix on integer constant

    Praticamente non accetta né la D né la F...


    Ciao.
    "Perchè spendere anche solo 5 dollari per un S.O., quando posso averne uno gratis e spendere quei 5 dollari per 5 bottiglie di birra?" [Jon "maddog" Hall]
    Fatti non foste a viver come bruti, ma per seguir virtute e canoscenza

  4. #4
    beh, prova con questi..
    (dovrebbero funzionare..)
    20 // intero in base 10
    024 // 20 in base 8
    0x14 // 20 in base 16
    0x20ul // forza unsigned long
    0x20l // forza long
    0x20u // forza unsigned
    0 // 0 in virgola mobile
    110E+4 // 110 * 10000 (10 elevato a 4)
    .14e-2 // 0.0014
    -3.5e+3 // -3500.0
    3.5f // forza float
    3.4L // forza long double

  5. #5
    Moderatore di Programmazione L'avatar di LeleFT
    Registrato dal
    Jun 2003
    Messaggi
    17,303
    Sì... queste le uso anch'io e non mi danno errori... mi dà errore sulla D e sulla F...


    Ciao.
    "Perchè spendere anche solo 5 dollari per un S.O., quando posso averne uno gratis e spendere quei 5 dollari per 5 bottiglie di birra?" [Jon "maddog" Hall]
    Fatti non foste a viver come bruti, ma per seguir virtute e canoscenza

  6. #6
    quello che intendevo dire e' che , per esempio
    puoi formattare l'output con un printf(o con una sprintf)
    in maniera tale che il compilatore scelga la sintassi piu' opportuna..
    per esempio utilizzando %g
    e assegnare vari valori costanti fa' cambiare il risultato..

  7. #7
    Originariamente inviato da LeleFT
    Sì... queste le uso anch'io e non mi danno errori... mi dà errore sulla D e sulla F...


    Ciao.
    personalmente non le ho mai usate, ma alcuni compilatori hanno dei suffissi leggermente diversi o in piu'..
    bisognerebbe vedere che dice lo standard a proposito..

  8. #8
    inoltre utilizzare un double o un float cambia il tipo di precisione finale ad esempio
    se si sommano 2 valori numeri, 1 float e uno double il c fa il casting implicito nel tipo che ha precisione maggiore ovvero double
    e poi il valore sara eventualmente castato di nuovo nel tipo della variabile a cui si assegna...

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 © 2024 vBulletin Solutions, Inc. All rights reserved.