How to define an exabyte constant in C#

1 Answer

0 votes
using System;

class ExabyteExample
{
    /*
        C# long is a signed 64‑bit integer.
        Maximum 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 long.
    */

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

    // Decimal exabyte (SI), using a readable numeric literal.
    public const long ExabyteEB  = 1_000_000_000_000_000_000L;

    static void Main()
    {
        Console.WriteLine($"1 EiB = {ExabyteEiB} bytes");
        Console.WriteLine($"1 EB  = {ExabyteEB} bytes");
    }
}



/*
run:

1 EiB = 1152921504606846976 bytes
1 EB  = 1000000000000000000 bytes

*/

 



answered May 3 by avibootz
...