class Floatboat::Converter
Public Class Methods
binary_mantissa_to_decimal(binary_mantissa)
click to toggle source
# File lib/floatboat/converter.rb, line 12 def self.binary_mantissa_to_decimal(binary_mantissa) explicit_mantissa = "1.#{binary_mantissa}" int, fraction = explicit_mantissa.split(".") minus = int.delete!("-") dec = (minus ? "-" : "") + int.to_i(2).to_s if fraction dec << (fraction.to_i(2) / 2.0**(fraction.size)).to_s[1..-1] else dec << ".0" end end
from_bits(bitstring)
click to toggle source
# File lib/floatboat/converter.rb, line 8 def self.from_bits(bitstring) [bitstring].pack('B*').unpack('G').first end
to_bits(float)
click to toggle source
# File lib/floatboat/converter.rb, line 3 def self.to_bits(float) float_as_bytes = [float].pack('G').bytes float_as_bytes.map { |n| "%08b" % n }.join end