-0.000 000 000 000 176 557 439 Converted to 64 Bit Double Precision IEEE 754 Binary Floating Point Representation Standard

Convert decimal -0.000 000 000 000 176 557 439(10) to 64 bit double precision IEEE 754 binary floating point representation standard (1 bit for sign, 11 bits for exponent, 52 bits for mantissa)

What are the steps to convert decimal number
-0.000 000 000 000 176 557 439(10) to 64 bit double precision IEEE 754 binary floating point representation (1 bit for sign, 11 bits for exponent, 52 bits for mantissa)

1. Start with the positive version of the number:

|-0.000 000 000 000 176 557 439| = 0.000 000 000 000 176 557 439


2. First, convert to binary (in base 2) the integer part: 0.
Divide the number repeatedly by 2.

Keep track of each remainder.

We stop when we get a quotient that is equal to zero.


  • division = quotient + remainder;
  • 0 ÷ 2 = 0 + 0;

3. Construct the base 2 representation of the integer part of the number.

Take all the remainders starting from the bottom of the list constructed above.

0(10) =


0(2)


4. Convert to binary (base 2) the fractional part: 0.000 000 000 000 176 557 439.

Multiply it repeatedly by 2.


Keep track of each integer part of the results.


Stop when we get a fractional part that is equal to zero.


  • #) multiplying = integer + fractional part;
  • 1) 0.000 000 000 000 176 557 439 × 2 = 0 + 0.000 000 000 000 353 114 878;
  • 2) 0.000 000 000 000 353 114 878 × 2 = 0 + 0.000 000 000 000 706 229 756;
  • 3) 0.000 000 000 000 706 229 756 × 2 = 0 + 0.000 000 000 001 412 459 512;
  • 4) 0.000 000 000 001 412 459 512 × 2 = 0 + 0.000 000 000 002 824 919 024;
  • 5) 0.000 000 000 002 824 919 024 × 2 = 0 + 0.000 000 000 005 649 838 048;
  • 6) 0.000 000 000 005 649 838 048 × 2 = 0 + 0.000 000 000 011 299 676 096;
  • 7) 0.000 000 000 011 299 676 096 × 2 = 0 + 0.000 000 000 022 599 352 192;
  • 8) 0.000 000 000 022 599 352 192 × 2 = 0 + 0.000 000 000 045 198 704 384;
  • 9) 0.000 000 000 045 198 704 384 × 2 = 0 + 0.000 000 000 090 397 408 768;
  • 10) 0.000 000 000 090 397 408 768 × 2 = 0 + 0.000 000 000 180 794 817 536;
  • 11) 0.000 000 000 180 794 817 536 × 2 = 0 + 0.000 000 000 361 589 635 072;
  • 12) 0.000 000 000 361 589 635 072 × 2 = 0 + 0.000 000 000 723 179 270 144;
  • 13) 0.000 000 000 723 179 270 144 × 2 = 0 + 0.000 000 001 446 358 540 288;
  • 14) 0.000 000 001 446 358 540 288 × 2 = 0 + 0.000 000 002 892 717 080 576;
  • 15) 0.000 000 002 892 717 080 576 × 2 = 0 + 0.000 000 005 785 434 161 152;
  • 16) 0.000 000 005 785 434 161 152 × 2 = 0 + 0.000 000 011 570 868 322 304;
  • 17) 0.000 000 011 570 868 322 304 × 2 = 0 + 0.000 000 023 141 736 644 608;
  • 18) 0.000 000 023 141 736 644 608 × 2 = 0 + 0.000 000 046 283 473 289 216;
  • 19) 0.000 000 046 283 473 289 216 × 2 = 0 + 0.000 000 092 566 946 578 432;
  • 20) 0.000 000 092 566 946 578 432 × 2 = 0 + 0.000 000 185 133 893 156 864;
  • 21) 0.000 000 185 133 893 156 864 × 2 = 0 + 0.000 000 370 267 786 313 728;
  • 22) 0.000 000 370 267 786 313 728 × 2 = 0 + 0.000 000 740 535 572 627 456;
  • 23) 0.000 000 740 535 572 627 456 × 2 = 0 + 0.000 001 481 071 145 254 912;
  • 24) 0.000 001 481 071 145 254 912 × 2 = 0 + 0.000 002 962 142 290 509 824;
  • 25) 0.000 002 962 142 290 509 824 × 2 = 0 + 0.000 005 924 284 581 019 648;
  • 26) 0.000 005 924 284 581 019 648 × 2 = 0 + 0.000 011 848 569 162 039 296;
  • 27) 0.000 011 848 569 162 039 296 × 2 = 0 + 0.000 023 697 138 324 078 592;
  • 28) 0.000 023 697 138 324 078 592 × 2 = 0 + 0.000 047 394 276 648 157 184;
  • 29) 0.000 047 394 276 648 157 184 × 2 = 0 + 0.000 094 788 553 296 314 368;
  • 30) 0.000 094 788 553 296 314 368 × 2 = 0 + 0.000 189 577 106 592 628 736;
  • 31) 0.000 189 577 106 592 628 736 × 2 = 0 + 0.000 379 154 213 185 257 472;
  • 32) 0.000 379 154 213 185 257 472 × 2 = 0 + 0.000 758 308 426 370 514 944;
  • 33) 0.000 758 308 426 370 514 944 × 2 = 0 + 0.001 516 616 852 741 029 888;
  • 34) 0.001 516 616 852 741 029 888 × 2 = 0 + 0.003 033 233 705 482 059 776;
  • 35) 0.003 033 233 705 482 059 776 × 2 = 0 + 0.006 066 467 410 964 119 552;
  • 36) 0.006 066 467 410 964 119 552 × 2 = 0 + 0.012 132 934 821 928 239 104;
  • 37) 0.012 132 934 821 928 239 104 × 2 = 0 + 0.024 265 869 643 856 478 208;
  • 38) 0.024 265 869 643 856 478 208 × 2 = 0 + 0.048 531 739 287 712 956 416;
  • 39) 0.048 531 739 287 712 956 416 × 2 = 0 + 0.097 063 478 575 425 912 832;
  • 40) 0.097 063 478 575 425 912 832 × 2 = 0 + 0.194 126 957 150 851 825 664;
  • 41) 0.194 126 957 150 851 825 664 × 2 = 0 + 0.388 253 914 301 703 651 328;
  • 42) 0.388 253 914 301 703 651 328 × 2 = 0 + 0.776 507 828 603 407 302 656;
  • 43) 0.776 507 828 603 407 302 656 × 2 = 1 + 0.553 015 657 206 814 605 312;
  • 44) 0.553 015 657 206 814 605 312 × 2 = 1 + 0.106 031 314 413 629 210 624;
  • 45) 0.106 031 314 413 629 210 624 × 2 = 0 + 0.212 062 628 827 258 421 248;
  • 46) 0.212 062 628 827 258 421 248 × 2 = 0 + 0.424 125 257 654 516 842 496;
  • 47) 0.424 125 257 654 516 842 496 × 2 = 0 + 0.848 250 515 309 033 684 992;
  • 48) 0.848 250 515 309 033 684 992 × 2 = 1 + 0.696 501 030 618 067 369 984;
  • 49) 0.696 501 030 618 067 369 984 × 2 = 1 + 0.393 002 061 236 134 739 968;
  • 50) 0.393 002 061 236 134 739 968 × 2 = 0 + 0.786 004 122 472 269 479 936;
  • 51) 0.786 004 122 472 269 479 936 × 2 = 1 + 0.572 008 244 944 538 959 872;
  • 52) 0.572 008 244 944 538 959 872 × 2 = 1 + 0.144 016 489 889 077 919 744;
  • 53) 0.144 016 489 889 077 919 744 × 2 = 0 + 0.288 032 979 778 155 839 488;
  • 54) 0.288 032 979 778 155 839 488 × 2 = 0 + 0.576 065 959 556 311 678 976;
  • 55) 0.576 065 959 556 311 678 976 × 2 = 1 + 0.152 131 919 112 623 357 952;
  • 56) 0.152 131 919 112 623 357 952 × 2 = 0 + 0.304 263 838 225 246 715 904;
  • 57) 0.304 263 838 225 246 715 904 × 2 = 0 + 0.608 527 676 450 493 431 808;
  • 58) 0.608 527 676 450 493 431 808 × 2 = 1 + 0.217 055 352 900 986 863 616;
  • 59) 0.217 055 352 900 986 863 616 × 2 = 0 + 0.434 110 705 801 973 727 232;
  • 60) 0.434 110 705 801 973 727 232 × 2 = 0 + 0.868 221 411 603 947 454 464;
  • 61) 0.868 221 411 603 947 454 464 × 2 = 1 + 0.736 442 823 207 894 908 928;
  • 62) 0.736 442 823 207 894 908 928 × 2 = 1 + 0.472 885 646 415 789 817 856;
  • 63) 0.472 885 646 415 789 817 856 × 2 = 0 + 0.945 771 292 831 579 635 712;
  • 64) 0.945 771 292 831 579 635 712 × 2 = 1 + 0.891 542 585 663 159 271 424;
  • 65) 0.891 542 585 663 159 271 424 × 2 = 1 + 0.783 085 171 326 318 542 848;
  • 66) 0.783 085 171 326 318 542 848 × 2 = 1 + 0.566 170 342 652 637 085 696;
  • 67) 0.566 170 342 652 637 085 696 × 2 = 1 + 0.132 340 685 305 274 171 392;
  • 68) 0.132 340 685 305 274 171 392 × 2 = 0 + 0.264 681 370 610 548 342 784;
  • 69) 0.264 681 370 610 548 342 784 × 2 = 0 + 0.529 362 741 221 096 685 568;
  • 70) 0.529 362 741 221 096 685 568 × 2 = 1 + 0.058 725 482 442 193 371 136;
  • 71) 0.058 725 482 442 193 371 136 × 2 = 0 + 0.117 450 964 884 386 742 272;
  • 72) 0.117 450 964 884 386 742 272 × 2 = 0 + 0.234 901 929 768 773 484 544;
  • 73) 0.234 901 929 768 773 484 544 × 2 = 0 + 0.469 803 859 537 546 969 088;
  • 74) 0.469 803 859 537 546 969 088 × 2 = 0 + 0.939 607 719 075 093 938 176;
  • 75) 0.939 607 719 075 093 938 176 × 2 = 1 + 0.879 215 438 150 187 876 352;
  • 76) 0.879 215 438 150 187 876 352 × 2 = 1 + 0.758 430 876 300 375 752 704;
  • 77) 0.758 430 876 300 375 752 704 × 2 = 1 + 0.516 861 752 600 751 505 408;
  • 78) 0.516 861 752 600 751 505 408 × 2 = 1 + 0.033 723 505 201 503 010 816;
  • 79) 0.033 723 505 201 503 010 816 × 2 = 0 + 0.067 447 010 403 006 021 632;
  • 80) 0.067 447 010 403 006 021 632 × 2 = 0 + 0.134 894 020 806 012 043 264;
  • 81) 0.134 894 020 806 012 043 264 × 2 = 0 + 0.269 788 041 612 024 086 528;
  • 82) 0.269 788 041 612 024 086 528 × 2 = 0 + 0.539 576 083 224 048 173 056;
  • 83) 0.539 576 083 224 048 173 056 × 2 = 1 + 0.079 152 166 448 096 346 112;
  • 84) 0.079 152 166 448 096 346 112 × 2 = 0 + 0.158 304 332 896 192 692 224;
  • 85) 0.158 304 332 896 192 692 224 × 2 = 0 + 0.316 608 665 792 385 384 448;
  • 86) 0.316 608 665 792 385 384 448 × 2 = 0 + 0.633 217 331 584 770 768 896;
  • 87) 0.633 217 331 584 770 768 896 × 2 = 1 + 0.266 434 663 169 541 537 792;
  • 88) 0.266 434 663 169 541 537 792 × 2 = 0 + 0.532 869 326 339 083 075 584;
  • 89) 0.532 869 326 339 083 075 584 × 2 = 1 + 0.065 738 652 678 166 151 168;
  • 90) 0.065 738 652 678 166 151 168 × 2 = 0 + 0.131 477 305 356 332 302 336;
  • 91) 0.131 477 305 356 332 302 336 × 2 = 0 + 0.262 954 610 712 664 604 672;
  • 92) 0.262 954 610 712 664 604 672 × 2 = 0 + 0.525 909 221 425 329 209 344;
  • 93) 0.525 909 221 425 329 209 344 × 2 = 1 + 0.051 818 442 850 658 418 688;
  • 94) 0.051 818 442 850 658 418 688 × 2 = 0 + 0.103 636 885 701 316 837 376;
  • 95) 0.103 636 885 701 316 837 376 × 2 = 0 + 0.207 273 771 402 633 674 752;

We didn't get any fractional part that was equal to zero. But we had enough iterations (over Mantissa limit) and at least one integer that was different from zero => FULL STOP (Losing precision - the converted number we get in the end will be just a very good approximation of the initial one).


5. Construct the base 2 representation of the fractional part of the number.

Take all the integer parts of the multiplying operations, starting from the top of the constructed list above:


0.000 000 000 000 176 557 439(10) =


0.0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0011 0001 1011 0010 0100 1101 1110 0100 0011 1100 0010 0010 1000 100(2)

6. Positive number before normalization:

0.000 000 000 000 176 557 439(10) =


0.0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0011 0001 1011 0010 0100 1101 1110 0100 0011 1100 0010 0010 1000 100(2)

7. Normalize the binary representation of the number.

Shift the decimal mark 43 positions to the right, so that only one non zero digit remains to the left of it:


0.000 000 000 000 176 557 439(10) =


0.0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0011 0001 1011 0010 0100 1101 1110 0100 0011 1100 0010 0010 1000 100(2) =


0.0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0011 0001 1011 0010 0100 1101 1110 0100 0011 1100 0010 0010 1000 100(2) × 20 =


1.1000 1101 1001 0010 0110 1111 0010 0001 1110 0001 0001 0100 0100(2) × 2-43


8. Up to this moment, there are the following elements that would feed into the 64 bit double precision IEEE 754 binary floating point representation:

Sign 1 (a negative number)


Exponent (unadjusted): -43


Mantissa (not normalized):
1.1000 1101 1001 0010 0110 1111 0010 0001 1110 0001 0001 0100 0100


9. Adjust the exponent.

Use the 11 bit excess/bias notation:


Exponent (adjusted) =


Exponent (unadjusted) + 2(11-1) - 1 =


-43 + 2(11-1) - 1 =


(-43 + 1 023)(10) =


980(10)


10. Convert the adjusted exponent from the decimal (base 10) to 11 bit binary.

Use the same technique of repeatedly dividing by 2:


  • division = quotient + remainder;
  • 980 ÷ 2 = 490 + 0;
  • 490 ÷ 2 = 245 + 0;
  • 245 ÷ 2 = 122 + 1;
  • 122 ÷ 2 = 61 + 0;
  • 61 ÷ 2 = 30 + 1;
  • 30 ÷ 2 = 15 + 0;
  • 15 ÷ 2 = 7 + 1;
  • 7 ÷ 2 = 3 + 1;
  • 3 ÷ 2 = 1 + 1;
  • 1 ÷ 2 = 0 + 1;

11. Construct the base 2 representation of the adjusted exponent.

Take all the remainders starting from the bottom of the list constructed above.


Exponent (adjusted) =


980(10) =


011 1101 0100(2)


12. Normalize the mantissa.

a) Remove the leading (the leftmost) bit, since it's allways 1, and the decimal point, if the case.


b) Adjust its length to 52 bits, only if necessary (not the case here).


Mantissa (normalized) =


1. 1000 1101 1001 0010 0110 1111 0010 0001 1110 0001 0001 0100 0100 =


1000 1101 1001 0010 0110 1111 0010 0001 1110 0001 0001 0100 0100


13. The three elements that make up the number's 64 bit double precision IEEE 754 binary floating point representation:

Sign (1 bit) =
1 (a negative number)


Exponent (11 bits) =
011 1101 0100


Mantissa (52 bits) =
1000 1101 1001 0010 0110 1111 0010 0001 1110 0001 0001 0100 0100


Decimal number -0.000 000 000 000 176 557 439 converted to 64 bit double precision IEEE 754 binary floating point representation:

1 - 011 1101 0100 - 1000 1101 1001 0010 0110 1111 0010 0001 1110 0001 0001 0100 0100


How to convert numbers from the decimal system (base ten) to 64 bit double precision IEEE 754 binary floating point standard

Follow the steps below to convert a base 10 decimal number to 64 bit double precision IEEE 754 binary floating point:

  • 1. If the number to be converted is negative, start with its the positive version.
  • 2. First convert the integer part. Divide repeatedly by 2 the positive representation of the integer number that is to be converted to binary, until we get a quotient that is equal to zero, keeping track of each remainder.
  • 3. Construct the base 2 representation of the positive integer part of the number, by taking all the remainders from the previous operations, starting from the bottom of the list constructed above. Thus, the last remainder of the divisions becomes the first symbol (the leftmost) of the base two number, while the first remainder becomes the last symbol (the rightmost).
  • 4. Then convert the fractional part. Multiply the number repeatedly by 2, until we get a fractional part that is equal to zero, keeping track of each integer part of the results.
  • 5. Construct the base 2 representation of the fractional part of the number, by taking all the integer parts of the multiplying operations, starting from the top of the list constructed above (they should appear in the binary representation, from left to right, in the order they have been calculated).
  • 6. Normalize the binary representation of the number, shifting the decimal mark (the decimal point) "n" positions either to the left, or to the right, so that only one non zero digit remains to the left of the decimal mark.
  • 7. Adjust the exponent in 11 bit excess/bias notation and then convert it from decimal (base 10) to 11 bit binary, by using the same technique of repeatedly dividing by 2, as shown above:
    Exponent (adjusted) = Exponent (unadjusted) + 2(11-1) - 1
  • 8. Normalize mantissa, remove the leading (leftmost) bit, since it's allways '1' (and the decimal mark, if the case) and adjust its length to 52 bits, either by removing the excess bits from the right (losing precision...) or by adding extra bits set on '0' to the right.
  • 9. Sign (it takes 1 bit) is either 1 for a negative or 0 for a positive number.

Example: convert the negative number -31.640 215 from the decimal system (base ten) to 64 bit double precision IEEE 754 binary floating point:

  • 1. Start with the positive version of the number:

    |-31.640 215| = 31.640 215

  • 2. First convert the integer part, 31. Divide it repeatedly by 2, keeping track of each remainder, until we get a quotient that is equal to zero:
    • division = quotient + remainder;
    • 31 ÷ 2 = 15 + 1;
    • 15 ÷ 2 = 7 + 1;
    • 7 ÷ 2 = 3 + 1;
    • 3 ÷ 2 = 1 + 1;
    • 1 ÷ 2 = 0 + 1;
    • We have encountered a quotient that is ZERO => FULL STOP
  • 3. Construct the base 2 representation of the integer part of the number by taking all the remainders of the previous dividing operations, starting from the bottom of the list constructed above:

    31(10) = 1 1111(2)

  • 4. Then, convert the fractional part, 0.640 215. Multiply repeatedly by 2, keeping track of each integer part of the results, until we get a fractional part that is equal to zero:
    • #) multiplying = integer + fractional part;
    • 1) 0.640 215 × 2 = 1 + 0.280 43;
    • 2) 0.280 43 × 2 = 0 + 0.560 86;
    • 3) 0.560 86 × 2 = 1 + 0.121 72;
    • 4) 0.121 72 × 2 = 0 + 0.243 44;
    • 5) 0.243 44 × 2 = 0 + 0.486 88;
    • 6) 0.486 88 × 2 = 0 + 0.973 76;
    • 7) 0.973 76 × 2 = 1 + 0.947 52;
    • 8) 0.947 52 × 2 = 1 + 0.895 04;
    • 9) 0.895 04 × 2 = 1 + 0.790 08;
    • 10) 0.790 08 × 2 = 1 + 0.580 16;
    • 11) 0.580 16 × 2 = 1 + 0.160 32;
    • 12) 0.160 32 × 2 = 0 + 0.320 64;
    • 13) 0.320 64 × 2 = 0 + 0.641 28;
    • 14) 0.641 28 × 2 = 1 + 0.282 56;
    • 15) 0.282 56 × 2 = 0 + 0.565 12;
    • 16) 0.565 12 × 2 = 1 + 0.130 24;
    • 17) 0.130 24 × 2 = 0 + 0.260 48;
    • 18) 0.260 48 × 2 = 0 + 0.520 96;
    • 19) 0.520 96 × 2 = 1 + 0.041 92;
    • 20) 0.041 92 × 2 = 0 + 0.083 84;
    • 21) 0.083 84 × 2 = 0 + 0.167 68;
    • 22) 0.167 68 × 2 = 0 + 0.335 36;
    • 23) 0.335 36 × 2 = 0 + 0.670 72;
    • 24) 0.670 72 × 2 = 1 + 0.341 44;
    • 25) 0.341 44 × 2 = 0 + 0.682 88;
    • 26) 0.682 88 × 2 = 1 + 0.365 76;
    • 27) 0.365 76 × 2 = 0 + 0.731 52;
    • 28) 0.731 52 × 2 = 1 + 0.463 04;
    • 29) 0.463 04 × 2 = 0 + 0.926 08;
    • 30) 0.926 08 × 2 = 1 + 0.852 16;
    • 31) 0.852 16 × 2 = 1 + 0.704 32;
    • 32) 0.704 32 × 2 = 1 + 0.408 64;
    • 33) 0.408 64 × 2 = 0 + 0.817 28;
    • 34) 0.817 28 × 2 = 1 + 0.634 56;
    • 35) 0.634 56 × 2 = 1 + 0.269 12;
    • 36) 0.269 12 × 2 = 0 + 0.538 24;
    • 37) 0.538 24 × 2 = 1 + 0.076 48;
    • 38) 0.076 48 × 2 = 0 + 0.152 96;
    • 39) 0.152 96 × 2 = 0 + 0.305 92;
    • 40) 0.305 92 × 2 = 0 + 0.611 84;
    • 41) 0.611 84 × 2 = 1 + 0.223 68;
    • 42) 0.223 68 × 2 = 0 + 0.447 36;
    • 43) 0.447 36 × 2 = 0 + 0.894 72;
    • 44) 0.894 72 × 2 = 1 + 0.789 44;
    • 45) 0.789 44 × 2 = 1 + 0.578 88;
    • 46) 0.578 88 × 2 = 1 + 0.157 76;
    • 47) 0.157 76 × 2 = 0 + 0.315 52;
    • 48) 0.315 52 × 2 = 0 + 0.631 04;
    • 49) 0.631 04 × 2 = 1 + 0.262 08;
    • 50) 0.262 08 × 2 = 0 + 0.524 16;
    • 51) 0.524 16 × 2 = 1 + 0.048 32;
    • 52) 0.048 32 × 2 = 0 + 0.096 64;
    • 53) 0.096 64 × 2 = 0 + 0.193 28;
    • We didn't get any fractional part that was equal to zero. But we had enough iterations (over Mantissa limit = 52) and at least one integer part that was different from zero => FULL STOP (losing precision...).
  • 5. Construct the base 2 representation of the fractional part of the number, by taking all the integer parts of the previous multiplying operations, starting from the top of the constructed list above:

    0.640 215(10) = 0.1010 0011 1110 0101 0010 0001 0101 0111 0110 1000 1001 1100 1010 0(2)

  • 6. Summarizing - the positive number before normalization:

    31.640 215(10) = 1 1111.1010 0011 1110 0101 0010 0001 0101 0111 0110 1000 1001 1100 1010 0(2)

  • 7. Normalize the binary representation of the number, shifting the decimal mark 4 positions to the left so that only one non-zero digit stays to the left of the decimal mark:

    31.640 215(10) =
    1 1111.1010 0011 1110 0101 0010 0001 0101 0111 0110 1000 1001 1100 1010 0(2) =
    1 1111.1010 0011 1110 0101 0010 0001 0101 0111 0110 1000 1001 1100 1010 0(2) × 20 =
    1.1111 1010 0011 1110 0101 0010 0001 0101 0111 0110 1000 1001 1100 1010 0(2) × 24

  • 8. Up to this moment, there are the following elements that would feed into the 64 bit double precision IEEE 754 binary floating point representation:

    Sign: 1 (a negative number)

    Exponent (unadjusted): 4

    Mantissa (not-normalized): 1.1111 1010 0011 1110 0101 0010 0001 0101 0111 0110 1000 1001 1100 1010 0

  • 9. Adjust the exponent in 11 bit excess/bias notation and then convert it from decimal (base 10) to 11 bit binary (base 2), by using the same technique of repeatedly dividing it by 2, as shown above:

    Exponent (adjusted) = Exponent (unadjusted) + 2(11-1) - 1 = (4 + 1023)(10) = 1027(10) =
    100 0000 0011(2)

  • 10. Normalize mantissa, remove the leading (leftmost) bit, since it's allways '1' (and the decimal sign) and adjust its length to 52 bits, by removing the excess bits, from the right (losing precision...):

    Mantissa (not-normalized): 1.1111 1010 0011 1110 0101 0010 0001 0101 0111 0110 1000 1001 1100 1010 0

    Mantissa (normalized): 1111 1010 0011 1110 0101 0010 0001 0101 0111 0110 1000 1001 1100

  • Conclusion:

    Sign (1 bit) = 1 (a negative number)

    Exponent (8 bits) = 100 0000 0011

    Mantissa (52 bits) = 1111 1010 0011 1110 0101 0010 0001 0101 0111 0110 1000 1001 1100

  • Number -31.640 215, converted from decimal system (base 10) to 64 bit double precision IEEE 754 binary floating point =
    1 - 100 0000 0011 - 1111 1010 0011 1110 0101 0010 0001 0101 0111 0110 1000 1001 1100