# 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
#