Hola!

El Mon, Nov 22, 2004 at 08:29:20AM -0300, Paulo Seguel escribio:
> Daniel Serpell wrote:
> >
> >Y como recomendación personal, mutt (lo uso para las listas) y evolution.
> 
> Interesante comentario para un usuario del mail de yahoo ;)
> 

El que mi dirección de correo sea @yahoo.com no significa que use su
webmail :-)

En mi caso, uso "fetchyahoo", un programa que baja el correo desde los
servidores de Yahoo y lo entrega localmente (donde aplico las reglas de
Procmail). Es equivalente a fetchmail.

Para leer el correo y responderlo, uso Mutt.

        Daniel.
From [EMAIL PROTECTED]  Tue Nov 23 11:07:02 2004
From: [EMAIL PROTECTED] (Daniel Serpell)
Date: Tue Nov 23 18:43:58 2004
Subject: OT: Pregunta de C
In-Reply-To: <[EMAIL PROTECTED]>
References: <[EMAIL PROTECTED]>
        <[EMAIL PROTECTED]>
Message-ID: <[EMAIL PROTECTED]>

Hola!

El Mon, Nov 22, 2004 at 11:01:58PM -0300, Horst von Brand escribio:
> "rodrigo ahumada" <[EMAIL PROTECTED]> dijo:
> > 
> > supongo que la parte:
> > char p[5];
> > char *hh(i) {
> > p[4] = 0;
> > p[3] = h(i&15);
> > p[2] = h((i>>=4)&15);
> > p[1] = h((i>>=4)&15);
> > p[0] = h((i>>=4)&15);
> > return p;
> 
> > no sirve en PPC y otros risc por ser big endian (¿tiene alguna ventaja ser 
> > asi?)
> 
> Gana prrrremio el concurrrrsanteeeee!
> 
> Exacto, en maquinas big-endian sale al reves (y tampoco funciona en
> maquinas de 64 bits, porque queda corto ;-).

En realidad, el código en cuestión funciona tanto en big-endian como
en little-endian, ya que nunca accede a un entero a travez de un
puntero a otro tipo de dato, ni usa tipos union.

La parte "i&15" entrega siempre los mismos 4 últimos bits de un número,
ya que es la constante "15" la que cambia de representación en memoria,
pero en el código es la misma. Idem el resto.

Con respacto a los 64 bits, el código funciona mientras "i" sea menor
a 2147483648 y mayor o igual a -2147483648. Fuera de ese rango, entrega
el resultado de "i % 2147483647" en hexadecimal. Y tuve especial cuidado
en nunca convertir punteros a int para que funcionara :-)

        Daniel.

Responder a