How to define a terabyte constant in Ruby

1 Answer

0 votes
# Ruby integers have arbitrary precision, so large values like terabytes
# fit naturally without overflow.
#
# Terabyte sizes:
#
#   1 TiB = 2**40  = 1,099,511,627,776 bytes
#   1 TB  = 10**12 = 1,000,000,000,000 bytes
#
# Ruby style:
#   - Use ALL_CAPS for constants
#   - Use bit shifts for binary units
#   - Use underscores for readability

# Binary terabyte (tebibyte), using a bit shift.
# 1 << 40 = 2**40 bytes.
TERABYTE_TIB = 1 << 40

# Decimal terabyte (SI), using a readable numeric literal.
TERABYTE_TB = 1_000_000_000_000

puts "1 TiB = #{TERABYTE_TIB} bytes"
puts "1 TB  = #{TERABYTE_TB} bytes"



# run:
# 
# 1 TiB = 1099511627776 bytes
# 1 TB  = 1000000000000 bytes
#

 



answered May 3 by avibootz
...