How to define a terabyte constant in Rust

1 Answer

0 votes
/*
    Rust's u64 type is an unsigned 64‑bit integer.
    Maximum value: 18,446,744,073,709,551,615 (~1.84 × 10^19)

    Terabyte sizes:

        1 TiB = 2^40  = 1,099,511,627,776 bytes
        1 TB  = 10^12 = 1,000,000,000,000 bytes

    Both values fit safely inside u64.
*/

// Binary terabyte (tebibyte), using a bit shift.
// 1u64 << 40 = 2^40 bytes.
pub const TERABYTE_TIB: u64 = 1u64 << 40;

// Decimal terabyte (SI), using a readable numeric literal.
pub const TERABYTE_TB: u64 = 1_000_000_000_000;

fn main() {
    println!("1 TiB = {} bytes", TERABYTE_TIB);
    println!("1 TB  = {} bytes", TERABYTE_TB);
}



/*
run:

1 TiB = 1099511627776 bytes
1 TB  = 1000000000000 bytes

*/

 



answered May 3 by avibootz
...