def best_prefix
      return to_base if scalar.zero?
      best_prefix = if kind == :information
                      @@prefix_values.key(2**((Math.log(base_scalar, 2) / 10.0).floor * 10))
                    else
                      @@prefix_values.key(10**((Math.log10(base_scalar) / 3.0).floor * 3))
                    end
      to(RubyUnits::Unit.new(@@prefix_map.key(best_prefix) + units(with_prefix: false)))
    end
def best_prefix
      return to_base if scalar.zero?
      best_prefix = if kind == :information
                      @@prefix_values.key(2**((Math.log(base_scalar, 2) / 10.0).floor * 10))
                    else
                      @@prefix_values.key(10**((Math.log10(base_scalar) / 3.0).floor * 3))
                    end
      to(RubyUnits::Unit.new(@@prefix_map.key(best_prefix) + units(with_prefix: false)))
    end
returns a new unit that has been scaled to be more in line with typical usage.