🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: es.comp.lenguajes.c++
Article #102

Desarrollo de Entero de Longitud Indefinida

#102
From: R.G.A.M.
Date: Wed, 13 Aug 2008 17:26
29 lines
2738 bytes
Buenas a todos.

Como un desafío, tengo en mente crear una clase que pueda almacenar un
entero de una cantidad indefinida de dígitos. Para ello, me valdré de
un array dinámico, que contendrá en cada elemento un "int". Cada valor
"int" podrá tener a lo más un dígito menos que la mayor cantidad de
dígitos que soporta el tipo en su totalidad, en el sistema de
numeración decimal.

Por si la explicación confunde, considérese el mayor número de la
forma 10^b - 1 que puede soportar "int" (pienso usar long long int,
pero para la explicación que pediré me será trivial, así que no me
molesta trabajar con "int"). Entonces, cada elemento "int" del array
puede tener a lo más b - 1 dígitos (siempre sistema de numeración
decimal). Esto me ayudará a realizar algunas operaciones sin
inconvenientes (que las tomaré como desafío personal, ya que requiere
puro ingenio y apenas conocimientos del lenguaje).

Mi problemática radica en que quiero sobrecargar el operador std::cin
para esta clase, y en lo posible me gustaría evitar trabajar con
cadenas (sean "char" o "string"). ¿Existe alguna forma de adaptar al
búfer para ello? Nótese que debo poder calcular la cantidad de
dígitos, o vaciar el búfer en sentido contrario al corriente.

Crear el constructor de la clase (asignando directamente un valor
numérico al declarar la variable), según mi parecer, es un problema
similar. También me gustaría ser guiado para ello.

Agradeceré toda ayuda que puedan ofrecerme.
Technical Details
Message-ID: <f5c6022a-3038-4574-a0f4-bbec4989d8f8@f36g2000hsa.googlegroups.com>
Path: arc1-ca.pugleaf.net!g2news1.google.com!postnews.google.com!f36g2000hsa.googlegroups.com!not-for-mail

Show Full Headers
Complete Article Headers
X-Google-Thread: f53ec,1761539f9939c78b,start
X-Google-Attributes: gidf53ec,domainid0,public,usenet
X-Google-Language: SPANISH,ASCII
Path: arc1-ca.pugleaf.net!g2news1.google.com!postnews.google.com!f36g2000hsa.googlegroups.com!not-for-mail
From: "R.G.A.M." <rgam1989@gmail.com>
Newsgroups: es.comp.lenguajes.c++
Subject: Desarrollo de Entero de Longitud Indefinida
Date: Wed, 13 Aug 2008 10:26:19 -0700 (PDT)
Organization: http://groups.google.com
Lines: 29
Message-ID: <f5c6022a-3038-4574-a0f4-bbec4989d8f8@f36g2000hsa.googlegroups.com>
NNTP-Posting-Host: 190.52.152.177
Mime-Version: 1.0
Content-Type: text/plain; charset=ISO-8859-1
Content-Transfer-Encoding: quoted-printable
X-Trace: posting.google.com 1218648380 20454 127.0.0.1 (13 Aug 2008 17:26:20 GMT)
X-Complaints-To: groups-abuse@google.com
NNTP-Posting-Date: Wed, 13 Aug 2008 17:26:20 +0000 (UTC)
Complaints-To: groups-abuse@google.com
Injection-Info: f36g2000hsa.googlegroups.com; posting-host=190.52.152.177; 
 posting-account=ksKnmQoAAACqYRXoipOreV_LoD1elWTg
User-Agent: G2/1.0
X-HTTP-UserAgent: Mozilla/5.0 (Windows; U; Windows NT 5.1; es-ES; rv:1.9.0.1) 
 Gecko/2008070208 Firefox/3.0.1,gzip(gfe),gzip(gfe)