linux-l: OT: Ungenauigkeiten

Siegfried Pohl spohl at bert.in-berlin.de
Di Aug 8 09:13:54 CEST 2000


*Jens-Uwe Morawski <morawski at gmx.net> wrote:
> On Mon, 07 Aug 2000 Siegfried Pohl wrote:
> > *Jens-Uwe Morawski <morawski at gmx.net> wrote:
> > > > - Little- und Big Endian
> > > 
> > > Sorry, aber was bedeutet das?
> > ....
> > Int (also 8 Bytes) gespeichert hat, und moechte auf zum Beispiel 
> > gerade oder ungerade testen, dann braucht man eigentlich zur zu
> > Pruefen, ob das LSB (least sig. bit) gerade oder ungerade ist 
> > (irgendetwas in der Richtung 
> > 
> > if(*((char)(&(Variable))) % 2) return True; blabla)
> > 
> > wenn man dann, die Differenzierung Little- und Big-Endian nicht 
> > eingebaut hat, gute Nacht. 
> > 
> <Unbedarftheit>
> Sollte sich um sowas nicht der Compiler kümmern????!!!
> </Unbedarftheit>

Grundsaetzlich hast du natuerlich Recht. Es kann allerdings zu
Situationen kommen, wo man beispielsweise ein Int abspeichert, und
an dem Wert des hoechsten Byte interessiert ist, ich denke da pauschal 
an ein rgb Farbsystem, jeder Farbwert wird in einem Byte abgespeichert, 
und alle drei Farbwerte werden in einem Int abgespeichert (der aeusserst
linke Platz bleibt frei). Wenn man dann zum Beispiel den rot-Wert
herausbekommen moechte, ist man auf Zeiger-Arithmetik angewiesen. Du hast
Recht, wenn du sagst, dass es eigentlich Funktionen geben sollte, wie
get_byte_number_1(), get_byte_numer_2(),\ldots , die einem dann die
Arbeit abnehmen, leider gibt es aber meines Wissens solche Funktionen
nicht. 


Mit freundlichen Gruessen, Siggi

-- 
| Siegfried Pohl <spohl at bert.IN-Berlin.DE> | HTTP://ME.IN-Berlin.DE/~bert
| Tel: +49-30-33506700  Fax: +49-30-33506701
| -> I do realize VMS had some cool features [...] But I never 
| -> used file versions myself, preferring (in true Unix fashion) 
| -> to shoot myself in the foot every now and then. (C) P. Samuelson



Mehr Informationen über die Mailingliste linux-l