## Binary/Decimal/Hex Converter

5 stars based on
45 reviews

This page allows you to convert between the decimal representation of numbers like "1. There has been an update in the way the number is displayed. Previous version would give you the represented value as a possibly rounded decimal number and the same number with the increased precision of a bit double precision float. Now the original number is shown either as the number that was entered, or as a possibly rounded decimal string as well as the actual full precision decimal number that the float value is representing.

The difference between both values is shown as well, so you can easier tell the difference between what you entered and what you get in IEEE This webpage is a tool to understand IEEE floating point numbers. This is the format in which almost all CPUs represent non-integer numbers. As this format is using base-2, there can be surprising differences in what numbers can be represented easily in decimal and which numbers can be represented in IEEE As an example, try "0.

The conversion is limited to bit single precision numbers, while the IEEEStandard contains formats with increased precision. You can either convert a number by choosing its binary representation in the button-bar, the other fields will be updated immediately. Or you can enter a binary number, a hexnumber or the decimal representation into the corresponding textfield and press return to update the other fields.

To make it easier to spot eventual rounding errors, the selected float number is displayed after conversion to double precision. Please note there are two kinds of zero: The sign is stored in bit The exponent can be computed from bits by subtracting The mantissa also known as significand or fraction is stored in bits An invisible leading bit i.

As a result, the mantissa has a value between 1. If the exponent reaches binarythe leading 1 is no longer used to enable gradual underflow. If the exponent has minimum value all zerospecial rules for denormalized values are followed. The exponent value is set to 2 and the "invisible" leading bit for the mantissa is no longer used. The converter used to show denormalized exponents as 2 and a denormalized mantissa range [0: This is effectively identical to the values above, with a factor of two shifted between exponent and mantissa.

However this confused people and was therefore changed Not every decimal number can be expressed exactly as a floating point number. This can be seen when entering "0. The hex representation is just the integer value of the bitstring printed as hex. Don't confuse this with true hexadecimal floating point values in the style of 0xab. This source code for this converter doesn't contain any low level conversion routines. The conversion between a floating point number i. The conversion between a string containing the textual form of a floating point number e.

If you need to write such a routine yourself, you should have a look at the sourecode of a standard C library e. GNU libc, uclibc or the FreeBSD C library - please have a look at the licenses before copying the code - be aware, these conversions can be complicated. This page relies on existing conversion routines, so formats not usually supported in standard libraries cannot be supported with reasonable effort. Double-precision bit floats would work, but this too is some work to support alongside single precision floats.

As the primary purpose of this site is to support people learning about these formats, supporting other formats is not really a priority.

Your converter is wrong! The conversion routines are pretty accurate see above. Until now, checking the results always proved the other conversion less accurate. First, consider what "correct" means in this context - unless the conversion has no rounding error, there are two reasonable results, one slightly smaller the entered value and one slightly bigger.

The best result is usually the one closer to the value that was entered, so you should check for that. Please check the actual represented value second text line and compare the difference to the expected decimal value while toggling the last bits. If you find any problems, please report them here.

Sign Exponent Mantissa Value: