🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

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

Re: Desarrollo de Entero de Longitud Indefinida

#103
From: Pedro Maicas
Date: Wed, 13 Aug 2008 19:27
48 lines
2788 bytes
On Wed, 13 Aug 2008 10:26:19 -0700 (PDT), "R.G.A.M." <rgam1989@gmail.com>
wrote:

>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.

Cuando hablas de d�gitos � te refieres a d�gitos decimales ?, 

El numero almecenado en cada int (long long int dices, pero ser� lo mismo)
� estar� en complemento a dos o en bcd ?

Ya que parece que cuendo dices d�gito te refieres a un numero
decimal, no creo que exista nada tan simple como aceptar un string
de longitud indefinida de d�gitos asci y convertirlo a bcd.

Sin embargo ser�a mas eficiente y demostrar�a mas dominio hacerlo
en complemento a dos, en cuyo caso pasar un string de tropecientos digitos
ser�a un bucle, en el que el valor interno se multiplica por diez
y se le suma el d�gito.


Grandioso::Grandioso(char *pp)
{
	valor_interno = 0;

	for(;*pp;pp++){
		valor_interno = 10 * valor_interno + (*pp & 0x0F);
	}
}

Las operaciones de multiplicacion por diez y la suma, ser�an funciones
implementadas por ti y trabajar�an sobre el valor interno de longitud
indefinida en complemento a dos.

 

Saludos :-)           -Pedro-

  http://www.maicas.net/ 

  e-mail en www.maicas.net
Technical Details
Message-ID: <3ac6a4hk7tok3srrm49aal37ibis5eqp90@4ax.com>
Path: arc1-ca.pugleaf.net!g2news2.google.com!news4.google.com!feeder.news-service.com!news.netcologne.de!newsfeed-fusi2.netcologne.de!news.k-dsl.de!news.antakira.com!cagarruta.escomposlinux.org!hercules.escomposlinux.org!escomposlinux.org!not-for-mail
References: <f5c6022a-3038-4574-a0f4-bbec4989d8f8@f36g2000hsa.googlegroups.com>

Show Full Headers
Complete Article Headers
X-Google-Thread: f53ec,1761539f9939c78b
X-Google-Attributes: gidf53ec,domainid0,public,usenet
X-Google-Language: SPANISH,ASCII
Path: arc1-ca.pugleaf.net!g2news2.google.com!news4.google.com!feeder.news-service.com!news.netcologne.de!newsfeed-fusi2.netcologne.de!news.k-dsl.de!news.antakira.com!cagarruta.escomposlinux.org!hercules.escomposlinux.org!escomposlinux.org!not-for-mail
From: Pedro Maicas <esta_no_es@jet.es>
Newsgroups: es.comp.lenguajes.c++
Subject: Re: Desarrollo de Entero de Longitud Indefinida
Date: Wed, 13 Aug 2008 21:27:30 +0200
Organization: escomposlinux.org
Lines: 48
Message-ID: <3ac6a4hk7tok3srrm49aal37ibis5eqp90@4ax.com>
References: <f5c6022a-3038-4574-a0f4-bbec4989d8f8@f36g2000hsa.googlegroups.com>
NNTP-Posting-Host: 77.210.97.254
Mime-Version: 1.0
Content-Type: text/plain; charset=ISO-8859-1
Content-Transfer-Encoding: 8bit
X-Trace: hercules.cohp1 1218655651 19816 77.210.97.254 (13 Aug 2008 19:27:31 GMT)
X-Complaints-To: newsmaster@news-17.escomposlinux.org
NNTP-Posting-Date: Wed, 13 Aug 2008 19:27:31 +0000 (UTC)
X-Newsreader: Forte Agent 1.8/32.553