Einzelnen Beitrag anzeigen

Delphi.Narium

Registriert seit: 27. Nov 2017
2.431 Beiträge
 
Delphi 7 Professional
 
#9

AW: Laufwerkgrössen ermitteln

  Alt 22. Okt 2021, 14:37
Es dürfte sich um ein Festplatte mit ca. 4 TB handeln.

Fraglich ist halt, ob man zur Berechnung die

1. Variante
1 kb = 1024 Byte
1 mb = 1024 kb
1 gb = 1024 mb
1 tb = 1024 gb

oder die

2. Variante
1 kb = 1000 Byte
1 mb = 1000 kb
1 gb = 1000 mb
1 tb = 1000 gb

nutzt.

Das von Dir gefundene Programm nutzt die zweite Variante und die Abweichungen gegenüber der ersten sind im Terrabytebereich dann schon mal nicht eben so ganz unerheblich.

Statt
Delphi-Quellcode:
  Label11.Caption := FormatFloat('0.00', (SectPerCls * BytesPerCls *
                                          TotCls)/1000000) + ' MB';
  Label12.Caption := FormatFloat('0.00', (SectPerCls * BytesPerCls *
                                          FreeCls)/1000000) + ' MB';
mal mit
Delphi-Quellcode:
  Label11.Caption := FormatFloat('0.00', (SectPerCls * BytesPerCls *
                                          TotCls) / (1024 * 1024)) + ' MB';
  Label12.Caption := FormatFloat('0.00', (SectPerCls * BytesPerCls *
                                          FreeCls) / (1024 * 1024)) + ' MB';
probieren. Entsprechen die Ergebnisse dann eher Deinen Vorstellungen?

Das Betriebssysteme nutzt die erste Variante.
Festplattenhersteller nutzen für die Kapazitätsangaben gerne die zweite Variante.

Durch diesen "Rechenunterschied" hat eine 1 TB-Platte mit Herstellerangaben nach Variante 2 beim Betriebssystem dann "nur noch" eine Kapazität von 909,49 GB.
Bei einer 4 TB-Platte bleiben dann "nur noch" 3,64 TB übrig (ergibt eine Abweichung von etwa 9%).

Zitat von Delbor:
Die Grössenangaben zu einer ausgewählten Disk stimmen allerdings nicht im entferntesten.
Bechreib' doch einfach mal, was Du erwartest und was angezeigt wird.
Hätte den Vorteil, dass man eine Vorstellung vom Fehler (und seiner Größenordnung) bekommen könnte.
  Mit Zitat antworten Zitat