Hinweis: Das Forum wird geschlossen! Neue Registrierungen sind nicht mehr möglich!

 Zurück zu Pro-Linux   Foren-Übersicht   FAQ     Suchen    Mitgliederliste
array

 
Neuen Beitrag schreiben   Auf Beitrag antworten    Pro-Linux Foren-Übersicht -> Programmieren - C
Vorheriges Thema anzeigen :: Nächstes Thema anzeigen  
Autor Nachricht
Gast






BeitragVerfasst am: 08. Mai 2004 17:04   Titel: array

Hi, ich verstehe grundsetzlich folgenden code nicht:

array[1] = (addr & 0x000000ff);
array[2] = ((addr & 0x0000ff00) >> Cool;
array[3] = ((addr & 0x00ff0000) >> 16);
array[4] = ((addr & 0xff000000) >> 24);

Was hat man davon, wenn man eine Zahl oder eine adresse mit einer adresse verknuepft und dann durch 2^8 , 2^16 bzw 2^24 dividiert ?

Ich habe dieses stueck code bereits in vielen sources gefunden.
Vielleicht kann mir ja einer weiterhelfen
 

Gast






BeitragVerfasst am: 09. Mai 2004 2:00   Titel:

an den paar code zeilen kann mann nicht feststellen wofür das sein soll. das kommt auf die absichten des programmierers an. solche bitmanipulationen in arrays werden häufig für kryptographie verwendet aber ob das hier der fall ist kann mann nun wirklich nicht wissen.
 

jochen
prolinux-forum-admin


Anmeldungsdatum: 14.01.2000
Beiträge: 699
Wohnort: Jülich

BeitragVerfasst am: 09. Mai 2004 11:10   Titel:

addr wird ein 4-Byte-Integer (Typ int oder long) sein. Der Programmierer möchte nun auf die Werte der 4 Bytes einzeln zugreifen können. Mittels &-Operator (bitweises UND) maskiert er alle Bits aus, die nicht zum jeweiligen Byte gehören. Jetzt muss er nur noch die Bits rechts-shiften, (>>), damit er auch nur Werte erhält, die in ein einzelnes Byte hineinpassen. Diese weist er dann den Array-Elementen zu., die wohl jeweils ein Byte gross sind (möglicherweise als char array[4] definiert).

Jochen
_________________
Die grösste Lüge der EDV? "Mal eben..."
 
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen

Beiträge vom vorherigen Thema anzeigen:   
     Pro-Linux Foren-Übersicht -> Programmieren - C Alle Zeiten sind GMT + 1 Stunde
Seite 1 von 1

 
Gehen Sie zu:  

Powered by phpBB © phpBB Group
pro_linux Theme © 2004 by Mandaxy