/*
In Rust, the largest primitive integer type is u64 (unsigned 64‑bit).
Its maximum value is about 1.84 × 10^19.
A petabyte fits comfortably:
1 PiB = 2^50 = 1,125,899,906,842,624 bytes
1 PB = 10^15 = 1,000,000,000,000,000 bytes
Rust allows:
- bit shifting on integer literals
- readable numeric literals with underscores
- compile‑time constant evaluation
*/
// Binary petabyte (pebibyte), using a bit shift.
// 1u64 << 50 = 2^50 bytes.
pub const PETABYTE_PIB: u64 = 1u64 << 50;
// Decimal petabyte (SI petabyte), using a readable numeric literal.
pub const PETABYTE_PB: u64 = 1_000_000_000_000_000;
fn main() {
println!("1 PiB = {} bytes", PETABYTE_PIB);
println!("1 PB = {} bytes", PETABYTE_PB);
}
/*
run:
1 PiB = 1125899906842624 bytes
1 PB = 1000000000000000 bytes
*/