Dismiss
InnovationQ will be updated on Sunday, Oct. 22, from 10am ET - noon. You may experience brief service interruptions during that time.
Browse Prior Art Database

Floating Point Number Format with Number System with Base of 1000

IP.com Disclosure Number: IPCOM000122938D
Original Publication Date: 1998-Jan-01
Included in the Prior Art Database: 2005-Apr-04
Document File: 2 page(s) / 49K

Publishing Venue

IBM

Related People

Takashi, Y: AUTHOR

Abstract

Disclosed is a use number system with a base of 1000 instead of 2 at the mantissa part of a floating point number. The unit is 10 bit. Each 10 bit keeps the value between 0 and 1000. This format is superior to Binary Coded Decimal (BCD) because it can keep more decimal numbers in the same size. This format is superior to binary because 1000 is 100 times of 10, and it makes no difference when converted to/from human's decimal format.

This text was extracted from an ASCII text file.
This is the abbreviated version, containing approximately 60% of the total text.

Floating Point Number Format with Number System with Base of 1000

      Disclosed is a use number system with a base of 1000 instead of
2 at the mantissa part of a floating point number.  The unit is 10
bit.  Each 10 bit keeps the value between 0 and 1000.  This format is
superior to Binary Coded Decimal (BCD) because it can keep more
decimal numbers in the same size.  This format is superior to binary
because 1000 is 100 times of 10, and it makes no difference when
converted to/from human's decimal format.

      The computer's floating point number's mantissa part format is
usually binary.  For example, Pentium's short floating point number
is:
  1 bit:  sign
  7 bit:  exponent
  24 bit:  mantissa

When a human calculates the following, the result will be 1: (((1 /
1000) * 10) * 10) * 10

But when Pentium calculates the same, the result is not 1:
  1      = 0x3f800000
  / 1000 = 0x3a83126f
  * 10   = 0x3c23d70b
  * 10   = 0x3dccccce
  * 10   = 0x3f800001

The result must be 0x3f800000 but is 0x3f00001.

If a new format is desired, the same calculation gets 1:
  1      = 0x3f100000
  / 1000 = 0x3c100000
  * 10   = 0x3d100000
  * 10   = 0x3e100000
  * 10   = 0x3f100000

The format is:
  1 bit:  sign
  7 bit:  exponent
  24 bit:  mantissa = 4 bit(1) + 10 bit(2) + 10 bit(3).

The decimal format is:
  1222333.

The part of (1) keeps the part of 1.  The part of (2) keeps the part
of 2.  The part of (3) keeps the part of 3. ...