linux-l: OT: Ungenauigkeiten

Jan-Benedict Glaw jbglaw at lug-owl.de
Mi Aug 9 01:59:18 CEST 2000


On Tue, Aug 08, 2000 at 09:13:54AM +0200, Siegfried Pohl wrote:
> *Jens-Uwe Morawski <morawski at gmx.net> wrote:
> > On Mon, 07 Aug 2000 Siegfried Pohl wrote:
> > > *Jens-Uwe Morawski <morawski at gmx.net> wrote:

[EB, EL, data alignment]

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

...die gibt's nicht nur, die sind auch noch ganz einfach!

n == Bytenummer (also 0 bis sizeof(int)-1):

einbyte = (GROßINT >> (n*8)) & 0xff;

MfG, JBG

-- 
Fehler eingestehen, Größe zeigen: Nehmt die Rechtschreibreform zurück!!!
/* Jan-Benedict Glaw <jbglaw at lug-owl.de> -- +49-177-5601720 */
keyID=0x8399E1BB fingerprint=250D 3BCF 7127 0D8C A444 A961 1DBD 5E75 8399 E1BB
     "insmod vi.o and there we go..." (Alexander Viro on linux-kernel)
-------------- nächster Teil --------------
Ein Dateianhang mit Binärdaten wurde abgetrennt...
Dateiname   : nicht verfügbar
Dateityp    : application/pgp-signature
Dateigröße  : 240 bytes
Beschreibung: nicht verfügbar
URL         : <https://mlists.in-berlin.de/pipermail/linux-l-mlists.in-berlin.de/attachments/20000809/65890e42/attachment.sig>


Mehr Informationen über die Mailingliste linux-l