📜 ⬆️ ⬇️

Alternative to the IEEE754 standard

As a result of reflection on the peculiarities of the IEEE754 standard, I came to the conclusion that many of the provisions on which this standard is based are based on an erroneous methodological approach. Namely, the authors of the standard for the basis of reasoning took the specified format of the machine word. Then, based on the specified format, requirements for a set of numbers that can be represented in this format were formulated. A number of unsubstantiated judgments were made. For example, the preference for use in computer arithmetic fractional mantissa. Or about the obligatory loss of accuracy, when representing numbers in a non-normalized form, as well as the inadmissibility of the ambiguous representation of real numbers in an exponential form.

Hence the requirements for the obligatory normalization of numbers after each arithmetic operation, and as a result, big problems with the representation of numbers lying near zero, as well as the impossibility of obtaining zero explicitly. All this leads to unjustified expenses of computing resources for normalization and struggle with its consequences.

The work offered here is a logical continuation of my previous two topics on Habré. In my reasoning, I pushed away from the natural representation of numbers and the limitations that are imposed on numbers, due to the finiteness of the carrier on which they are written. This approach allowed us to obtain a number of very important conclusions. The main one is that the normalization process is not mandatory at all stages of the arithmetic operations. Moreover, it was mandatory normalization that led to the need to introduce a special class of denormalized numbers, which significantly increased the hardware and software costs.
')
The proposed approach led to the conclusion that, by adding only one digit in a machine word, one can just expand the range of representable numbers in floating point format, where K is the number of machine mantissa digits.

In the article you will find a number of non-trivial conclusions that allow you to take a fresh look at the representation of floating-point numbers in machine code.
















Source: https://habr.com/ru/post/272251/


All Articles