code: def number(self, number):
          
          s = [ord(x) for x in str(number)] + [14]  # Bytes of string representation in bytes
  
          if number == int(number) and abs(number) < 65536:  # integer form?
              sign = 0xFF if number < 0 else 0
              b = [0, sign] + self.numberLH(number) + [0]
          else:  # Float form
              (C, ED, LH) = fp.immediate_float(number)
              C = C[:2]  # Remove 'h'
              ED = ED[:4]  # Remove 'h'
              LH = LH[:4]  # Remove 'h'
  
              b = [int(C, 16)]  # Convert to BASE 10
              b += [int(ED[:2], 16), int(ED[2:], 16)]
              b += [int(LH[:2], 16), int(LH[2:], 16)]
  
          return s + b
docs: Returns a floating point (or integer) number for a BASIC
          program. That is: It's ASCII representation followed by 5 bytes
          in floating point or integer format (if number in (-65535 + 65535)