检查溢出

基本类型 / 数字 / 整型

# limit values of the integers does not exist
# no range check
a = (2**(0.size * 8 -2) -1)**2
# a is 21267647932558653957237540927630737409

puts "a is #{a}, #{a.class}"