Domanda

Sto programmazione su un progetto che devo conservare la chiave dell'utente per la configurazione iniziale di una macchina, voglio scrivere in C #.

Ho una configurazione iniziale che consiste di numero due R e X0, R = 3,9988 e X0 = 0,5. Voglio aggiungere la chiave utente a questi numeri. per esempio:

Chiave: hos110 =>

  • R = 3,9988104111115049049048
  • X0 = ,5104111115049049048

104.111.115.049,049048 millions sono codici ASCII della chiave, che sono concatenati.

Come posso memorizzare questi numeri?

Esiste un metodo migliore per fare questo?

Aggiornamento:? Come su MATLAB

È stato utile?

Soluzione

Se avete bisogno di precisione infinita avete bisogno di qualcosa che si chiama BigInteger. Tuttavia queste classi sono di solito utilizzati solo per calcoli scientifici (e di solito inadatto per stroring i dati) che in realtà non sembrano abbinare il vostro codice di esempio. Se avete bisogno di fare solo calcoli generali utilizzare stringhe e poi convertirli in decimali per i calcoli.

Tuttavia, se siete alla ricerca di una Classe BigInterger si può trovare uno qui .

Net 4.0 avrà un BigInteger built-in-class nelle librerie di classi denominate System.Numerics.BigInteger.

Altri suggerimenti

Non sei veramente "aggiungendo" numeri. Si sono concatenazione di stringhe.

memorizzarli come stringhe. Non si può ottenere molto più preciso di quello.

Se avete bisogno di eseguire operazioni aritmetiche, è abbastanza facile da convertire in un numero decimale al volo.

Io in realtà non seguo perché si sta utilizzando una chiave da parte di un numero, ma lasciando a parte questo ... System.Decimal (alias decimal) sembra lo strumento giusto per il lavoro qui.

Bene, a seconda della precisione che si sta cercando di ottenere, probabilmente si può salvare come un paio di noreferrer valori decimali.

Tuttavia, se questo è un codice ASCII, si può solo salvare questi come una stringa direttamente. Ciò permetterà di evitare i problemi di precisione numerica, soprattutto se avete intenzione di tirare fuori il 104.111 ... prima di utilizzare queste informazioni.

Sembra che si archiviano una "chiave", quindi perché non utilizzare una stringa, allora?

Numeri in virgola mobile sono intrinsecamente imprecise. Non sono sicuro che cosa è questa 'configurazione iniziale' o perché si tratta di un galleggiante, ma non sta andando ad essere in grado di virare su un 'chiave utente' (qualunque essa sia) e recuperare in un secondo momento. Conservare la chiave utente a parte, in una stringa o qualcosa del genere.

Se questi 'numeri' non hanno alcun valore numerico, cioè non sarà utilizzarli per calcolo matematico, allora non v'è alcuna necessità di memorizzarli in un tipo di dati numerico. È possibile memorizzare come stringhe.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top