Online HelpPC 2.10      Quick Reference Utility     Copyright 1991 David Jurgens
 
                           Floating Point Formats                           
                                                                                
        IEEE 4 byte real                                                        
                                                                                         31 30    23 22                        0                                          ┌─┬────────┬──────────────────────────┐                                          │s│ 8 bits │msb   23 bit mantissa  lsb│                                          └─┴────────┴──────────────────────────┘                                           │      │                └────────────────  mantissa                              │      └────────────────────────────────  biased exponent (7fh)                  └─────────────────────────────────────  sign bit                                                                                                        
        IEEE 8 byte real                                                        
                                                                                         63 62      52 51                                  0                              ┌─┬──────────┬────────────────────────────────────┐                              │s│  11 bits │msb        52 bit mantissa       lsb│                              └─┴──────────┴────────────────────────────────────┘                               │      │                └────────────────  mantissa                              │      └────────────────────────────────  biased exponent (3FFh)                 └─────────────────────────────────────  sign bit                                                                                                        
        Microsoft 4 byte real                                                   
                                                                                         31     24 23 22                       0                                          ┌────────┬─┬──────────────────────────┐                                          │ 8 bits │s│msb  23 bit mantissa   lsb│                                          └────────┴─┴──────────────────────────┘                                               │    │              └────────────────  mantissa                                  │    └────────────────────────────  sign bit                                     └──────────────────────────────  biased exponent (81h)                                                                                              
        Microsoft 8 byte real (see note below)                                  
                                                                                         63    56 55 54                                 0                                 ┌───────┬─┬────────────────────────────────────┐                                 │ 8bits │s│msb          52 bit mantissa     lsb│                                 └───────┴─┴────────────────────────────────────┘                                     │    │                    └────────────  mantissa                                │    └─────────────────────────────  sign bit                                    └───────────────────────────  biased exponent (401h, see below)                                                                                      
        IEEE 10 byte real (temporary real)                                      
                                                                                         79 78       64 63 62                                     0                       ┌─┬───────────┬─┬────────────────────────────────────────┐                       │s│  15 bits  │1│msb          63 bit mantissa         lsb│                       └─┴───────────┴─┴────────────────────────────────────────┘                        │      │      │                    └─────  mantissa                              │      │      └────────────────────────  first mantissa bit                      │      └─────────────────────────────  biased exponent (3FFFh)                   └──────────────────────────────────  sign bit                                                                                                           
        Turbo Pascal 6 byte real                                                
                                                                                         47     40 39 38                                 0                                ┌────────┬─┬────────────────────────────────────┐                                │ 8 bits │s│msb         39 bit mantissa      lsb│                                └────────┴─┴────────────────────────────────────┘                                     │    │                  └────────────  mantissa                                  │    └─────────────────────────────  sign bit                                    └────────────────────────────────  biased exponent (80h)                                                                                            
        Microsoft Fortran Complex number                                        
        ┌──────────────────────────┬─────────────────────────────┐                       │   Float Real component   │  Float Imaginary component  │                       └──────────────────────────┴─────────────────────────────┘                       (each component is either 8 or 16 byte IEEE real)                                                                                                                                                                                                  - sign bit representation:  0 is positive  and  1 is negative                    - in all float formats except the IEEE 10 byte real, the                           mantissa is stored without most significant bit; since                           the state of this bit is known to be set, it is not                              included and the exponent is adjusted accordingly                              - all formats use binary float representation                                    - memory representation uses 80x86 reverse byte/word order.                      - Microsoft languages use the IEEE real formats;  BASIC is the                     only normal user of the Microsoft float format                                 - Microsoft 8 byte real format has not been verified;  several                     Microsoft publications show an 8 bit exponent instead of 11 bits                 and state the BIAS is 401h;  the discrepancy is that 8 bits can't                hold the value 401h (requires 11 bits)                                                                                                                                                                                                  
        True exponent is the exponent value minus the following bias:           
                                                                                         81h for Microsoft 4 byte real                                                    401h for Microsoft 8 byte real                                                   7Fh for IEEE 4 byte real                                                         3FFh for IEEE 8 byte real                                                        80h for Turbo Pascal 6 byte real                                                                                                                         
             Size                  Range             Significant digits         
                                                                                         4 byte real       8.43x10E-37 to 3.37x10E38         6-7                          8 byte real      4.19x10E-307 to 1.67x10E308       15-16                         10 byte real     3.4x10E-4932 to 1.2x10E4932         19                                                                                                                                                                                            - see   dmsbintoieee()   dieeetomsbin()   NUMERIC RANGES                                                                                                                                                                                    
[helppc.bosbyte.nl]              real numbers                 Home  Back  Topics