Visualizzazione dei risultati da 1 a 8 su 8
  1. #1
    Utente di HTML.it
    Registrato dal
    Mar 2004
    Messaggi
    5

    Informazioni generali c++

    Quando viene immesso un valore molto grande, questo attraverso le funzioni printf(),fprintf() ecc. viene rappresentato con la notazione scientifica. Il mio dubbio è questo: la variabile contiene
    precisamente il numero immesso,o con la notazione scientifica si perdono dei valori?Se si, come posso fare per conservare in memoria un numero più grande di quello contenibile in un valore double?Attraverso le strutture è possibile?

  2. #2
    Non ho mai provato...
    Ma penso che il numero non venga mai tagliato...
    PoWered by:
    Gentoo 1.5.3 - Kernel 2.6.7
    Debian Sid - Kernel 2.6.7 - Bash 3.0
    Slackware current - Kernel 2.6.7

  3. #3
    Ops.. Mi son sbagliato

    HO appena provato e fino a numeri di
    Nove Cifre Non Taglia Dopo da numeri strani...

    Ma dipende dal tipo che usi se usi gli int di norma sono 4bit
    i double sono 8bit...
    PoWered by:
    Gentoo 1.5.3 - Kernel 2.6.7
    Debian Sid - Kernel 2.6.7 - Bash 3.0
    Slackware current - Kernel 2.6.7

  4. #4
    Anche con i double non c'e' niente da fare :-)
    i bit sono risparmiati per le cifre con la virgola (penso)

    cmq potresti definirti un nuovo tipo...
    a seconda delle cifre che ti servono...
    PoWered by:
    Gentoo 1.5.3 - Kernel 2.6.7
    Debian Sid - Kernel 2.6.7 - Bash 3.0
    Slackware current - Kernel 2.6.7

  5. #5
    Utente di HTML.it L'avatar di pixer
    Registrato dal
    Oct 2000
    Messaggi
    614
    E' del tutto normale che tagli.

    Hai provato con l'unsigned double ?
    MySQL Worker - The OpenSource Multiplatform MySQL database Administrator (C++ powered)
    .:[ It resumes the development !! ]:.


  6. #6
    unsigned long int nn può aiutare?
    Bye
    Conquista la folla, e conquisterai la libertà (Proximus - Il gladiatore)
    Il riferimento italiano per i Fans di Final Fantasy
    Scandalos member of APE

  7. #7
    Anche con un unsigned long int il massimo rappresentabile e' un numero a 9 cifre.
    codice:
    int main() {
         unsigned long int NUM = 999999999;
         printf ("%u", NUM);
    
         getchar();
         return 0;
    }
    PoWered by:
    Gentoo 1.5.3 - Kernel 2.6.7
    Debian Sid - Kernel 2.6.7 - Bash 3.0
    Slackware current - Kernel 2.6.7

  8. #8
    Utente di HTML.it
    Registrato dal
    Mar 2004
    Messaggi
    5
    Il valore più grande che è possibile rappresentare utilizzando i tipi standard è quello contenibile in un valore long double di 10 byte che può contenere un valore pari a 2^80 , ma se si supera questo i byte non sono più in grado di contenerlo. Come posso definire un tipo di dati che contenga molti più byte e con il quale posso operare normalmente con tutte le altre variabili;cioè utilizzarlo in un' espressione?.

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.