Sistema de numeração posicional

Em seu projeto (COM a++, GUI do C#) levou a trabalhar com diferentes sistemas de numeração (2,6,10,16 e não só). E realizar operações matemáticas sobre eles (adição, subtração, multiplicação, divisão). Trabalhar como naturais e com números reais,. E o ideal é receber na saída e a inteira e parte fracionária como, por exemplo, o comando para indicar aos usuários.

É necessário ser capaz de chamar a função, por exemplo, a adição de dois argumentos: 1 — de um número natural em decimal (2300), 2 — um número real em um sistema ternário ("2120.102")

Se existem tais library (c++ ou C#), o que poderia fornecer esta funcionalidade?

Se não, não seria melhor dar vida a algum funcional alemão (embora provavelmente já tem), e associá-C++ ou C#?


Answers 2:

Share:


Sean Davila
Answer 1

Você mistura a lógica de apresentação. (E este é um dos maiores pecados na programação)
Não há números em decimal ou em um sistema ternário — número, este número. É o sistema decimal de GRAVAÇÃO de números. (Т. е. fala sobre a apresentação).
Se bem que dividir, então você vai ficar — conversores a partir de um valor de cadeia de registros no teclado numérico e de volta, e normal de uma função matemática.

Por exemplo: crie uma classe Number, adicione a função de:
Number(<число_записанное_строкой>, <largura>)
__toString(<largura>)
E sobrecarregados os operadores de adição, subtração, divisão.


Nilesh Modhavadiya
Answer 2

um par de anos atrás, ficou brincando de tal coisa (escreveu a si mesmo a calculadora), mas as classes teve que escrever: não нагуглил nada.

É verdade, eu guardei tudo na forma de matrizes (e a ordem, e мантиссу, e a base SS) e a ação sobre eles cumpriu por meio de programação. Isso claramente foi muito lento. Mas иллюстрировало o trabalho com diferentes bases sistemas de numeração.