Pergunta

Estou programando em um projeto que devo guardar a chave do usuário para a configuração inicial de uma máquina, quero escrevê-lo em C #.

I têm uma configuração inicial que consiste de dois números R e X 0, R = 3,9988 e X0 = 0,5. Eu quero adicionar a chave do usuário para esses números. por exemplo:

Key: hos110 =>

  • R = 3,9988104111115049049048
  • X0 = ,5104111115049049048

104111115049049048 são códigos ASCII da chave que são concatenados.

Como posso armazenar esses números?

Existe um método melhor para fazer isso?

Update:? Como cerca de MATLAB

Foi útil?

Solução

Se você precisar de precisão infinita você precisa de algo que é chamado BigInteger. No entanto, essas classes são normalmente usados ??apenas para cálculos científicos (e geralmente inadequado para stroring os dados) que realmente não parecem corresponder à sua amostra de código. Se você precisa fazer apenas cálculos gerais usar cordas e depois convertê-los para Decimal para os cálculos.

No entanto, se você estiver procurando por um tal Classe BigInterger você pode encontrar um aqui .

.Net 4.0 terá um BigInteger built-in-class nas bibliotecas de classes nomeadas System.Numerics.BigInteger.

Outras dicas

Você não é realmente "acrescentando" números. Você está concatenar strings.

armazená-los como strings. Você não pode ficar muito mais preciso do que isso.

Se você precisa executar quaisquer operações aritméticas, é fácil o suficiente para convertê-los para um número decimal na mosca.

Eu realmente não siga por que você está usando uma chave como parte de um número, mas deixando isso de lado ... System.Decimal (aka decimal) parece ser a ferramenta certa para o trabalho aqui.

Bem, dependendo da precisão que você está tentando alcançar, provavelmente você pode guardá-las como um par de decimal valores.

No entanto, se este é um código ASCII, você pode apenas querer gravá-las como uma string diretamente. Isso vai evitar os problemas de precisão numérica, especialmente se você estiver indo para retirar o 104111 ... antes de usar esta informação.

Parece que você está armazenando uma "chave", então porque não usar uma String então?

Números de ponto flutuante são inerentemente imprecisa. Eu não tenho certeza do que esta 'configuração inicial' é ou porque é um float, mas você não vai ser capaz de aderência em uma 'chave de usuário' (seja ele qual for) e recuperá-lo mais tarde. Armazenar a chave de usuário separadamente, em uma string ou algo assim.

Se estes 'números' não têm valor numérico, ou seja, você não vai usá-los para computação matemática, então não há necessidade de armazená-los em um tipo de dados numérico. Você pode armazená-los como strings.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top