Du bist nicht angemeldet.

Stilllegung des Forums
Das Forum wurde am 05.06.2023 nach über 20 Jahren stillgelegt (weitere Informationen und ein kleiner Rückblick).
Registrierungen, Anmeldungen und Postings sind nicht mehr möglich. Öffentliche Inhalte sind weiterhin zugänglich.
Das Team von spieleprogrammierer.de bedankt sich bei der Community für die vielen schönen Jahre.
Wenn du eine deutschsprachige Spieleentwickler-Community suchst, schau doch mal im Discord und auf ZFX vorbei!

Werbeanzeige

$nooc

Alter Hase

  • »$nooc« ist der Autor dieses Themas

Beiträge: 873

Wohnort: Österreich / Kärnten

Beruf: Schüler

  • Private Nachricht senden

41

29.10.2007, 12:11

was genau passiert da?
ich versteh nicht ganz was der "<<" operator da macht, und auch nicht was da der "|" operator genau bewirkt..

C-/C++-Quelltext

1
float filesize = FormatFileSize( ( ( data.nFileSizeHigh << 32 ) | data.nFileSizeLow ), unit );
Am Anfang der Weisheit steht die eigene Erkenntnis, dass man selbst nichts weiß! - Sokrates

David_pb

Community-Fossil

Beiträge: 3 886

Beruf: 3D Graphics Programmer

  • Private Nachricht senden

42

29.10.2007, 13:39

Operator<< - Verschiebt ein Bitset um 'n' Bits nach links

z.B.:

C-/C++-Quelltext

1
0001010 << 3 = 1010000


Operator| - Verknüpft zwei Bitsets per 'Oder'

Quellcode

1
2
3
4
0 or 0 = 0
0 or 1 = 1
1 or 0 = 1
1 or 1 = 1


z.B.:

C-/C++-Quelltext

1
2
3
4
00110001 |
00010011 
-----------
00110011
@D13_Dreinig

$nooc

Alter Hase

  • »$nooc« ist der Autor dieses Themas

Beiträge: 873

Wohnort: Österreich / Kärnten

Beruf: Schüler

  • Private Nachricht senden

43

30.10.2007, 08:16

wozu braucht man das? O_o
wieso musst die dateigröße so umständlich formatiern/berechnen?

also was passiert da jetz genau?

data.nFileSizeHigh << 32 versetzt ein bitset um 32 bits nach links? und | verknüpft dann data.nFileSizeLow mit dem ganzen, richtig?
Am Anfang der Weisheit steht die eigene Erkenntnis, dass man selbst nichts weiß! - Sokrates

David_pb

Community-Fossil

Beiträge: 3 886

Beruf: 3D Graphics Programmer

  • Private Nachricht senden

44

30.10.2007, 09:47

Zitat von »"$nooc"«

also was passiert da jetz genau?

data.nFileSizeHigh << 32 versetzt ein bitset um 32 bits nach links? und | verknüpft dann data.nFileSizeLow mit dem ganzen, richtig?


Genau...

Zitat von »"$nooc"«

wozu braucht man das? O_o
wieso musst die dateigröße so umständlich formatiern/berechnen?


Um aus zwei 32 Bit Werten einen 64 Bit Wert zu erstellen?! :roll:
Der Idee ist ganz einfach: Da aktuelle Dateisysteme auch Dateigrößen über 4 Gigabyte zulassen sind für die Darstellung der Größe mehr als 32 Bit notwendig (Anmk.: 32 Bit hat 2^32 = 4294967296 Variationen. Das entspricht einem Höchstwert von 4 GB der dargestellt werden kann).
@D13_Dreinig

$nooc

Alter Hase

  • »$nooc« ist der Autor dieses Themas

Beiträge: 873

Wohnort: Österreich / Kärnten

Beruf: Schüler

  • Private Nachricht senden

45

30.10.2007, 11:18

achso ist das.. ^^
es ist so demotivierend wenn man weiss dass man so wenig weiss ...
Am Anfang der Weisheit steht die eigene Erkenntnis, dass man selbst nichts weiß! - Sokrates

David_pb

Community-Fossil

Beiträge: 3 886

Beruf: 3D Graphics Programmer

  • Private Nachricht senden

46

30.10.2007, 12:00

Zitat von »"$nooc"«

achso ist das.. ^^
es ist so demotivierend wenn man weiss dass man so wenig weiss ...


Ist es nicht aber wiederrum motivierend das man weiß, das man nicht garnichts weiß? :p
@D13_Dreinig

$nooc

Alter Hase

  • »$nooc« ist der Autor dieses Themas

Beiträge: 873

Wohnort: Österreich / Kärnten

Beruf: Schüler

  • Private Nachricht senden

47

31.10.2007, 17:33

:D

ja so gesehen schon ^^
wenn dann mal was klappt ist es ein gutes gefühl *hrhr*
Am Anfang der Weisheit steht die eigene Erkenntnis, dass man selbst nichts weiß! - Sokrates

Werbeanzeige