Welcome to collectivesolver - Programming & Software Q&A with code examples. A website with trusted programming answers. All programs are tested and work.

Contact: aviboots(AT)netvision.net.il

Semrush - keyword research tool

Turn ChatGPT, Claude, Gemini, And CoPilot Into Your Personal Assistant, Business Coach, Content Creator, And More

AFFILIATE MARKETING Your all-in-one performance engine Manage affiliates, creators, and customer referrals in one unified platform—turning every partnership into measurable growth
Secure & Reliable Web Hosting, Free Domain, Free SSL, 1-Click WordPress Install, Expert 24/7 Support

Boost your online presence with premium web hosting and servers

Disclosure: My content contains affiliate links.

42,690 questions

55,449 answers

573 users

How to define an exabyte constant in Go

1 Answer

0 votes
package main

import "fmt"

/*
   Go's constants are evaluated at compile time and can be arbitrarily large
   until they are given a concrete type.

   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

   Using iota with bit shifting is the idiomatic Go way to define binary units.
*/

const (
    // Binary exabyte (exbibyte)
    // 1 << (10 * 6) = 2^60 bytes
    ExabyteEiB = 1 << (10 * 6)

    // Decimal exabyte (SI), using underscores for readability
    ExabyteEB = 1_000_000_000_000_000_000
)

func main() {
    fmt.Println("1 EiB =", ExabyteEiB, "bytes")
    fmt.Println("1 EB  =", ExabyteEB,  "bytes")
}


/*
run:

1 EiB = 1152921504606846976 bytes
1 EB  = 1000000000000000000 bytes

*/

 



answered May 3 by avibootz
...