Coded data generation or conversion – Digital code to digital code converters – To or from mixed base codes
Reexamination Certificate
1999-11-05
2002-05-07
Young, Brian (Department: 2819)
Coded data generation or conversion
Digital code to digital code converters
To or from mixed base codes
Reexamination Certificate
active
06384748
ABSTRACT:
BACKGROUND OF THE INVENTION
1. Field of the Invention
The present invention relates generally to a method of encoding numeric data and manipulating the same. More particularly, the present invention relates to a method of encoding numeric data as a variable-length, null-terminated string and manipulating the variable-length, null-terminated string.
2. Description of the Prior Art
It is well known in the art to store numeric data as a fixed-length data type. For example, the C programming language defines three data types for storing numeric data, namely, “int,” “float” and “double.” An additional data type, “char,” is used for storing characters. A fixed amount of memory is allocated to each of these data types, and, therefore, a finite range of values is associated with each data type. Furthermore, each of these data types may be modified by one or more of the modifiers “short,” “long,” “signed” and “unsigned,” which further define the memory allocated and the range. For a modern personal computer (“PC”), Table 1, below, summarizes the memory allocation and range for several of the data types described above:
TABLE 1
Data Type
Bytes
Range
int
4
−2,147,483,648 to +2,147,483,648
short int
2
−32,768 to +32,767
unsigned short int
2
0 to 65,535
unsigned int
4
0 to +4,294,967,295
float
4
3.4 × 10
−38
to 3.4 × 10
38
(7 digits of precision)
double
8
1.7 × 10
−308
to 1.7 × 10
308
(15 digits of
precision)
long double
10
1.2 × 10
−4932
to 1.2 × 10
4932
(19 digits of
precision)
char
1
−128 to +127
unsigned char
1
0 to 255
Insofar as the foregoing data types have defined limitations in terms of memory allocation and range, the use of such data types requires a programmer to anticipate the range of the data intended to be stored therein. This is not always possible. Additionally, any range anticipated may be accurate at the time that software is authored, but the range may change over time.
Storage of very large or very small numbers having very few significant digits results in highly inefficient memory usage. Additionally, performing mathematical operations on variables having dissimilar data types may result in unexpected and unforeseeable errors. Without proper trapping and handling, these errors may be silently compounded.
SUMMARY OF THE INVENTION
It is an object of the present invention to provide a method of encoding numeric data and manipulated the encoded numeric data. It is a further object of the present invention to efficiently store numeric data. It is a further object of the present invention to provide a method of encoding numeric data which permits such data to be manipulated as conventionally stored numeric data. It is a still further object of the present invention to provide a method of encoding numeric data that can be sorted according to conventional sorting routines.
These and other beneficial objects of the present invention are most effectively attained by providing a method of encoding a numeric data as a variable-length, NULL-terminated string, wherein the first byte represents a sign of the numeric data, the second byte represents an exponent of the numeric data and the following bytes represent a mantissa of the numeric data. Each of the bytes, except for the first byte, is biased to avoid storage of a zero or NULL byte, which, according to the present invention is a terminating value. The first byte, in addition to indicating the sign of the numeric data, indicates whether the numeric data has a zero value or a NULL value, which is generally not recognized in standard computer programming languages, such as C.
REFERENCES:
patent: 5267186 (1993-11-01), Gupta et al.
patent: 5612909 (1997-03-01), Morrow
patent: 5631859 (1997-05-01), Markstein et al.
patent: 5633818 (1997-05-01), Taniguchi
patent: 5671170 (1997-09-01), Markstein et al.
patent: 5768170 (1998-06-01), Smith
patent: 5796644 (1998-08-01), Jiang
patent: 5841684 (1998-11-01), Dockser
patent: 5842224 (1998-11-01), Fenner
patent: 5854929 (1998-12-01), Van Praet et al.
patent: 5872730 (1999-02-01), Shevach
patent: 6289128 (2001-09-01), Allen
Asherman Steven
Kumar Arun
Base One International Corporation
Pitney Hardin Kipp & Szuch LLP
Young Brian
LandOfFree
Method of encoding numeric data and manipulating the same does not yet have a rating. At this time, there are no reviews or comments for this patent.
If you have personal experience with Method of encoding numeric data and manipulating the same, we encourage you to share that experience with our LandOfFree.com community. Your opinion is very important and Method of encoding numeric data and manipulating the same will most certainly appreciate the feedback.
Profile ID: LFUS-PAI-O-2863617