How to define an exabyte constant in PHP

1 Answer

0 votes
/*
    PHP integers are 64‑bit on modern 64‑bit builds.

    Maximum signed 64‑bit value:
        9,223,372,036,854,775,807  (~9.22 × 10^18)

    Exabyte sizes:

        1 EiB = 2^60  = 1,152,921,504,606,846,976 bytes
        1 EB  = 10^18 = 1,000,000,000,000,000,000 bytes

    Both values fit safely inside a 64‑bit integer.
*/

// Binary exabyte (exbibyte), using a bit shift.
// 1 << 60 = 2^60 bytes.
const EXABYTE_EIB = 1 << 60;

// Decimal exabyte (SI), using a readable numeric literal.
const EXABYTE_EB  = 1_000_000_000_000_000_000;

echo "1 EiB = " . EXABYTE_EIB . " bytes\n";
echo "1 EB  = " . EXABYTE_EB  . " bytes\n";



/*
run:

1 EiB = 1152921504606846976 bytes
1 EB  = 1000000000000000000 bytes

*/

 



answered May 3 by avibootz
...