OT: Pregunta de C

Horst von Brand vonbrand en inf.utfsm.cl
Jue Nov 25 09:46:55 CLST 2004


Daniel Serpell <daniel_serpell en yahoo.com> dijo:

[...]

> En realidad las diferencias entre LE y BE sólo producen problemas cuando
> se re-interpretan los bytes en memoria como un bloque de datos, por
> lo que tiene inportancia cuando comunicas por medio de datos binarios
> dos computadores.

Hay un problema menor tambien cuando tienes p.ej. un entero de 4/8 bytes
que quieres interpretar como de 2: LE es natural (o sea, no debes hacer
nada), BE significa que tienes que saber que taman~o es el original para
ver cuanto desplazarte; para "rellenar" a taman~o mas grande tienes que
mover datos en BE, no en LE. Si, son detalles muy detalles.

> Mucha gente usa como estándar de interoperabilidad el "network-order"
> definido por TCP/IP, que es BE. Por esto, uno podría esperar un ligero
> (probablemente no medible) aumento de velocidad en el proceso de
> información de red en computadores BE, ya que no es necesario revolver
> los bytes antes de interpretar. Muchos lenguajes de programación
> orientados a interoperabilidad o a redes usan ese estándar cuando
> convierten enteros en datos binarios, por ejemplo Java y Pike.

Por efectos de cache y demas, seguramente no hay como medir el efecto de
esto.
-- 
Dr. Horst H. von Brand                   User #22616 counter.li.org
Departamento de Informatica                     Fono: +56 32 654431
Universidad Tecnica Federico Santa Maria              +56 32 654239
Casilla 110-V, Valparaiso, Chile                Fax:  +56 32 797513


Más información sobre la lista de distribución Linux