The floating-point routines for Microsoft BASIC were written by Monte Davidoff in 1975, originally for the Altair, which used an Intel 8080 CPU. The source code had been lost for twenty years, until Bill Gates’ former tutor discovered a copy in 2000 [that had fallen behind his file cabinet twenty years earlier.][1] Davidoff needed to invent his own floating-point format, and came up with: 8 exponent bits (bias-128), 1 sign bit, and 23 normalized mantissa bits. This was similar to the range of DEC VAX floating-point numbers, but laid out in a more logical order. In 1976, Gates, Allen and Davidoff wrote a 6502 version of their BASIC. [When they were unable to fit it into 8K,][2] they decided to put it in a larger ROM chip and add more features, including an “extended” 40-bit floating-point format. Although Wozniak had already written Integer BASIC and was at that time working on a floating-point BASIC, Steve Jobs felt it was taking too long and bought Microsoft’s instead. In [Woz’s recollection:][3] > My design style is to spend quite a bit of time thinking out every angle in my head and in rough sketches, and then to start coding. The first results aren’t visible right away, but at the end they come up very quickly. Steve Jobs got concerned that I wasn’t making enough progress. He even accused me of slacking and coming in at 10 AM in one staff meeting, but I pointed out that I’d been laying out our floppy PC Card [...] and that I’d been leaving at 4 AM every morning, long after even the Houston brothers, Dick and Cliff, had left. Microsoft’s MBASIC for CP/M and its GWBASIC for MS-DOS were originally based on its version-1 BASIC for Altair, but went through several formats (including packed BCD) before switching to IEEE format in GWBASIC 4. When Richard T. Russell wrote the original BBC Micro BASIC for the 6502, and later [the Z80 BASIC for the BBC Micro][4] in 1986, he gave its “reals” the same range as Microsoft’s extended floating-point numbers. This remained true through BASIC V, until BASIC VI for ARM changed to a 64-bit format. [In his words,][5] “What we now know as BBC BASIC arose as the result of a compromise between what Acorn were already planning to produce and the BBC's desire for a 'standard' language. Programs written for Microsoft BASIC required little or no alteration to run on BBC BASIC, but programs written specifically for BBC BASIC could take advantage of its more sophisticated features.” Later versions for the ARM and RiscOS [1]: https://web.archive.org/web/20020102173701/http://www.rjh.org.uk/altair/ian.htm [2]: https://www.pagetable.com/?p=46 [3]: http://www.woz.org/letters/apple-basic/ [4]: https://github.com/davidgiven/cpmish/blob/master/third_party/bbcbasic/fpp.z80 [5]: http://www.bbcbasic.co.uk/bbcbasic/history.html