![]() |
AW: Speichergrößen heutzutage korrekt interpretieren/betiteln
ot
Zitat:
|
AW: Speichergrößen heutzutage korrekt interpretieren/betiteln
Zitat:
Beim Speichern verwende ich gern human-readable Formate (selbst wenn darin ein paar der Daten verschlüsselt sind) und falls doch "platzsparender" Binär gespeichert werden soll, dann keine propitären Formate, sondern nur solche die sich automatisiert in Ersteres umwandeln lassen. z.B. gibt es XML und JSON auch in binär. (XML sogar teilweise quasi komprimiert) |
AW: Speichergrößen heutzutage korrekt interpretieren/betiteln
Liegt bei mir daran das ich Jahrelang nur mit Double/Int64 bei Zeitwerten arbeite. Das es platzsparender ist war mir in diesem Moment egal.
|
AW: Speichergrößen heutzutage korrekt interpretieren/betiteln
Zitat:
Ich habe neulich Zertifikate aus China bekommen mit Datum im PDF "18.07.13", welche ich erstmal als "outdated" angemeckert habe. Es hiees darauf, das es in China so geschrieben würde (ich habs mal so hingenommen, ungeckeckt). Nicht nur Algorithmen haben Probleme damit, echte Menschen auch :stupid: Rollo |
AW: Speichergrößen heutzutage korrekt interpretieren/betiteln
Könnt Ihr bitte beim Thema bleiben.
|
AW: Speichergrößen heutzutage korrekt interpretieren/betiteln
Ich gehe mal stark davon aus, dass 99% aller Delphi-schreiber die Funktion unten benutzen, um Datengrößen visuell dazustellen.
Zitat:
Delphi-Quellcode:
Wie sähe das denn in der Kibi-Schreibweise aus? Muss nur Epsilon auf 1000 geändert werden?
function FileSizeToStr(const ASize: Int64 {für Delphiversionen < 2005 durch Real/Double/Extended ersetzen}; const AUseShortNames: Boolean = true): string;
const ShortUnits: Array[0..8] of string = ('Byte', 'KB', 'MB', 'GB', 'TB', 'PB', 'EB', 'ZB', 'YB'); LongUnits: Array[0..8] of string = ('B', 'Kilob', 'Megab', 'Gigab', 'Terab', 'Petab', 'Exab', 'Zettab', 'Yottab'); Epsilon = 1 / 1024; // Wegen der Fließkommaungenauigkeit sicher nie falsch, verhindert außerdem Anzeigen wie "1024 KB" var Index: Integer; begin Index := Trunc(ln(ASize) / ln(2) / 10 + Epsilon); if AUseShortNames then Result := Format('%.2f %s', [ASize / (Int64(1) shl (Index * 10)), ShortUnits[Index]]) else Result := Format('%.2f %s%s', [ASize / (Int64(1) shl (Index * 10)), LongUnits[Index], 'yte']) end; |
AW: Speichergrößen heutzutage korrekt interpretieren/betiteln
Zitat:
Zitat:
|
AW: Speichergrößen heutzutage korrekt interpretieren/betiteln
Endlich mal ein Erfolgserlebnis in meinem Leben :thumb:
Mir fällt aber noch was auf. Google gibt bei direkter Eingabe in das Suchfeld 498000 Byte in KiloByte = 498 aus. In KibiByte sind 498000 Bytes scheinbar 486,328125 KibiByte. Ist das so richtig? Ich dachte immer Byte * 1024 = KiloByte. |
AW: Speichergrößen heutzutage korrekt interpretieren/betiteln
Zitat:
edit Zitat:
edit #2 Mist ich glaub ich habe oben nen Fehler: Byte / 1000 = KiloByte bzw KB Byte / 1024 = KibiByte bzw KiB <<<< Das ist normalerweiser unter Windowsen das zu nehmende Mittel. |
AW: Speichergrößen heutzutage korrekt interpretieren/betiteln
Zitat:
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 02:20 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz