class Integer
www.ruby-forum.com/t/question-about-hex-signed-int/125510/4 machine bit length:
machine_byte_length = ['foo'].pack('p').size machine_bit_length = machine_byte_length * 8
Public Instance Methods
to_signed(bit_length)
click to toggle source
# File lib/scale.rb, line 95 def to_signed(bit_length) unsigned_mid = 2 ** (bit_length - 1) unsigned_ceiling = 2 ** bit_length (self >= unsigned_mid) ? self - unsigned_ceiling : self end
to_unsigned(bit_length)
click to toggle source
# File lib/scale.rb, line 101 def to_unsigned(bit_length) unsigned_mid = 2 ** (bit_length - 1) unsigned_ceiling = 2 ** bit_length if self >= unsigned_mid || self <= -unsigned_mid raise "out of scope" end return unsigned_ceiling + self if self < 0 self end