Computación decimal

### Un (posible) algoritmo para la computación decimal creado por Jorge Chaves Román

Nota importante: Se está en desarrollo del algoritmo, por lo que algunos fragmentos pueden estar incompletos.

```
// Diez

struct diezy
{
 bool[10] digito;
 bool acarreo\_decena;
};

typedef struct diezy diezy;

class diez {

private:
 diezy a;

public:
 diez() : a() {
 this->a.digito[10] = {true,false,false,false,false,false,false,false,false,false};
 /\*
 this->a.digito[10] = {0,1,2,3,4,5,6,7,8,9};
 this->a.acarreo\_decena = false; todos anteriores al 10
 this->a.digito[10] = {true,false,false,false,false,false,false,false,false,false}; this->a.acarreo\_decena = true; 10

 this->a.digito[10] = {true,false,false,false,false,false,false,false,false,false}; // 0
 this->a.digito[10] = {false,true,false,false,false,false,false,false,false,false}; // 1
 this->a.digito[10] = {false,false,true,false,false,false,false,false,false,false}; // 2
 this->a.digito[10] = {false,false,false,true,false,false,false,false,false,false}; // 3
 this->a.digito[10] = {false,false,false,false,true,false,false,false,false,false}; // 4

 this->a.digito[10] = {false,false,false,false,false,true,false,false,false,false}; // 5
 this->a.digito[10] = {false,false,false,false,false,false,true,false,false,false}; // 6
 this->a.digito[10] = {false,false,false,false,false,false,false,true,false,false}; // 7
 this->a.digito[10] = {false,false,false,false,false,false,false,false,true,false}; // 8
 this->a.digito[10] = {false,false,false,false,false,false,false,false,false,true}; // 9

 this->a.acarreo\_decena = false; // todos anteriores al 10

 this->a.digito[10] = {true,false,false,false,false,false,false,false,false,false}; this->a.acarreo\_decena = true; // 10

 this->a.digito[10] = {false,false,false,false,false,false,false,false,false,false}; // error
 \*/
 this->a.acarreo\_decena = false;
 }

 // constructor parametrizado
 diez(diezy a) {
 this->a.digito[10] = a.digito;
 this->a.acarreo\_decena = a.acarreo\_decena;
 }

 // constructor de copia
 diez(const diezy&);

 // devuelve valor
 diezy retorno();

 // operadores miembros
 diez& operator = (diezy j);
 bool operator ==(diezy j);

}
//....................................
diez::diez(const diezy &j)
{
 this->a.digito = new bool[10];
 FOR(1,10) {
 this->a.digito[i-1] = j.digito[i-1];
 }
 this->a.acarreo\_decena = j.acarreo\_decena;
}
//....................................
diezy diez::retorno() {
 return a;
}
// Cambiar bytes por diez y bool por diezy
//....................................
diez& diez::operator = (diezy j) {
 FOR(1,10) {
 this->a.a[i-1] = j.a[i-1];
 }

 this->a.b=j.b;

 return \*this;
}
//....................................
bool diez::operator ==(diezy j) {
 bool sol = true;
 FOR(1,10) {
 if (this->a.a[i-1] != j.a[i-1]) {sol = false; break;}
 }

 if (sol==true) {
 if (this->a.b!=j.b) {sol=false;}
 }

 return sol;
}

```

### Detalles

Para crear el conjunto de los naturales se puede/podría crear/se de la siguiente manera, utilizando arrays/arreglos recursivos/recursivamente, usando el diez en dichos arrays/arreglos.

### Véase también

* Computación
* Informática
* JLeng
* JUnicode
* Lenguaje de programación
* Programación
* Robótica
* Tecnología
* Matemáticas