musst du nicht. Denn wie man im Manual zu memory_get_usage() nachlesen kann, gibt die Funktion den belegten Speicher in Bytes zurück. Die 1024/1000-Problematik ist hier also außen vor.
memory_limit halt als default Wert "128M" - memory_limit - memory_get_usage() = freier Speicher.
Die ersten, die mit der Konvention "1k=1024" bewusst gebrochen hatten, waren die Festplattenhersteller.
Nein, die Diskettenhersteller ;) eine 1.44"-Diskette rechnet "ganz anders" ;) solch eine hat 1,40 MiB (lt. IEC), 1,47 MB (lt. SI), 1,40 MB (lt. Windows bzw. "traditionell") und 1,44 MB (lt. Formfaktor).
Festplatten- und Solid-State-Speicherhersteller haben sich immer 1:1 an SI-Präfixe gehalten.
RAM-Hersteller (bzw. die JEDEC) nutzen hingegen SI-Präfixe zur Basis 1024, geben aber in deren Empfehlungen an, dass das eine dämliche Idee ist, aber eben "Formfaktorenartige" Bezeichnungen sind.
Eine 3,5"-Festplatte ist übrigens exakt 100 mm breit - das ist ein gutes Stück mehr als 3,5 Zoll, eine 3,5"-Floppy ist etwa 3,54 Zoll breit (90 mm).
Es war auch mal Tradition dass es gut 10 verschiedene Defintionen für hp (Horsepower) gab und einen Rattenschwanz für "Zoll" - Zeit das ordentlich zu machen.
Denn wenn das kB etwas größer ist, werden die Zahlen, die die Gesamtkapazität angeben, etwas kleiner.
Falsch - kB war _immer_ der Faktor 1000, KB ist traditionell 1024 - da fängts aber auch schon an ;) MB und MB kennt hingegen schon keine Unterscheidung mehr.
Dadurch, dass man also so aufs Korinthenkacken besteht, schafft man Probleme, wo eigentlich gar keine sind.
Auf lange sicht, werden dadurch aber Probleme behoben: die Euro-Umstellung haben wir auch überlebt: und mal ehrlich wir haben davon profitiert.
[*] Wobei ich die cm hier für einen Griff ins Klo halte; fast überall in der Technik wird in Meter oder Millimeter gemessen, Zentimeter sind völlig unüblich.
Natürlich, cm ist auch keine SI-Basiseinheit oder eine vielfaches einer 3-er-Potenz davon.