2 353 253 232 532 539 224 322 353 253 232 532 531.977 Converted to 32 Bit Single Precision IEEE 754 Binary Floating Point Representation Standard

Convert decimal 2 353 253 232 532 539 224 322 353 253 232 532 531.977(10) to 32 bit single precision IEEE 754 binary floating point representation standard (1 bit for sign, 8 bits for exponent, 23 bits for mantissa)

What are the steps to convert decimal number
2 353 253 232 532 539 224 322 353 253 232 532 531.977(10) to 32 bit single precision IEEE 754 binary floating point representation (1 bit for sign, 8 bits for exponent, 23 bits for mantissa)

1. First, convert to binary (in base 2) the integer part: 2 353 253 232 532 539 224 322 353 253 232 532 531.
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;
  • 2 353 253 232 532 539 224 322 353 253 232 532 531 ÷ 2 = 1 176 626 616 266 269 612 161 176 626 616 266 265 + 1;
  • 1 176 626 616 266 269 612 161 176 626 616 266 265 ÷ 2 = 588 313 308 133 134 806 080 588 313 308 133 132 + 1;
  • 588 313 308 133 134 806 080 588 313 308 133 132 ÷ 2 = 294 156 654 066 567 403 040 294 156 654 066 566 + 0;
  • 294 156 654 066 567 403 040 294 156 654 066 566 ÷ 2 = 147 078 327 033 283 701 520 147 078 327 033 283 + 0;
  • 147 078 327 033 283 701 520 147 078 327 033 283 ÷ 2 = 73 539 163 516 641 850 760 073 539 163 516 641 + 1;
  • 73 539 163 516 641 850 760 073 539 163 516 641 ÷ 2 = 36 769 581 758 320 925 380 036 769 581 758 320 + 1;
  • 36 769 581 758 320 925 380 036 769 581 758 320 ÷ 2 = 18 384 790 879 160 462 690 018 384 790 879 160 + 0;
  • 18 384 790 879 160 462 690 018 384 790 879 160 ÷ 2 = 9 192 395 439 580 231 345 009 192 395 439 580 + 0;
  • 9 192 395 439 580 231 345 009 192 395 439 580 ÷ 2 = 4 596 197 719 790 115 672 504 596 197 719 790 + 0;
  • 4 596 197 719 790 115 672 504 596 197 719 790 ÷ 2 = 2 298 098 859 895 057 836 252 298 098 859 895 + 0;
  • 2 298 098 859 895 057 836 252 298 098 859 895 ÷ 2 = 1 149 049 429 947 528 918 126 149 049 429 947 + 1;
  • 1 149 049 429 947 528 918 126 149 049 429 947 ÷ 2 = 574 524 714 973 764 459 063 074 524 714 973 + 1;
  • 574 524 714 973 764 459 063 074 524 714 973 ÷ 2 = 287 262 357 486 882 229 531 537 262 357 486 + 1;
  • 287 262 357 486 882 229 531 537 262 357 486 ÷ 2 = 143 631 178 743 441 114 765 768 631 178 743 + 0;
  • 143 631 178 743 441 114 765 768 631 178 743 ÷ 2 = 71 815 589 371 720 557 382 884 315 589 371 + 1;
  • 71 815 589 371 720 557 382 884 315 589 371 ÷ 2 = 35 907 794 685 860 278 691 442 157 794 685 + 1;
  • 35 907 794 685 860 278 691 442 157 794 685 ÷ 2 = 17 953 897 342 930 139 345 721 078 897 342 + 1;
  • 17 953 897 342 930 139 345 721 078 897 342 ÷ 2 = 8 976 948 671 465 069 672 860 539 448 671 + 0;
  • 8 976 948 671 465 069 672 860 539 448 671 ÷ 2 = 4 488 474 335 732 534 836 430 269 724 335 + 1;
  • 4 488 474 335 732 534 836 430 269 724 335 ÷ 2 = 2 244 237 167 866 267 418 215 134 862 167 + 1;
  • 2 244 237 167 866 267 418 215 134 862 167 ÷ 2 = 1 122 118 583 933 133 709 107 567 431 083 + 1;
  • 1 122 118 583 933 133 709 107 567 431 083 ÷ 2 = 561 059 291 966 566 854 553 783 715 541 + 1;
  • 561 059 291 966 566 854 553 783 715 541 ÷ 2 = 280 529 645 983 283 427 276 891 857 770 + 1;
  • 280 529 645 983 283 427 276 891 857 770 ÷ 2 = 140 264 822 991 641 713 638 445 928 885 + 0;
  • 140 264 822 991 641 713 638 445 928 885 ÷ 2 = 70 132 411 495 820 856 819 222 964 442 + 1;
  • 70 132 411 495 820 856 819 222 964 442 ÷ 2 = 35 066 205 747 910 428 409 611 482 221 + 0;
  • 35 066 205 747 910 428 409 611 482 221 ÷ 2 = 17 533 102 873 955 214 204 805 741 110 + 1;
  • 17 533 102 873 955 214 204 805 741 110 ÷ 2 = 8 766 551 436 977 607 102 402 870 555 + 0;
  • 8 766 551 436 977 607 102 402 870 555 ÷ 2 = 4 383 275 718 488 803 551 201 435 277 + 1;
  • 4 383 275 718 488 803 551 201 435 277 ÷ 2 = 2 191 637 859 244 401 775 600 717 638 + 1;
  • 2 191 637 859 244 401 775 600 717 638 ÷ 2 = 1 095 818 929 622 200 887 800 358 819 + 0;
  • 1 095 818 929 622 200 887 800 358 819 ÷ 2 = 547 909 464 811 100 443 900 179 409 + 1;
  • 547 909 464 811 100 443 900 179 409 ÷ 2 = 273 954 732 405 550 221 950 089 704 + 1;
  • 273 954 732 405 550 221 950 089 704 ÷ 2 = 136 977 366 202 775 110 975 044 852 + 0;
  • 136 977 366 202 775 110 975 044 852 ÷ 2 = 68 488 683 101 387 555 487 522 426 + 0;
  • 68 488 683 101 387 555 487 522 426 ÷ 2 = 34 244 341 550 693 777 743 761 213 + 0;
  • 34 244 341 550 693 777 743 761 213 ÷ 2 = 17 122 170 775 346 888 871 880 606 + 1;
  • 17 122 170 775 346 888 871 880 606 ÷ 2 = 8 561 085 387 673 444 435 940 303 + 0;
  • 8 561 085 387 673 444 435 940 303 ÷ 2 = 4 280 542 693 836 722 217 970 151 + 1;
  • 4 280 542 693 836 722 217 970 151 ÷ 2 = 2 140 271 346 918 361 108 985 075 + 1;
  • 2 140 271 346 918 361 108 985 075 ÷ 2 = 1 070 135 673 459 180 554 492 537 + 1;
  • 1 070 135 673 459 180 554 492 537 ÷ 2 = 535 067 836 729 590 277 246 268 + 1;
  • 535 067 836 729 590 277 246 268 ÷ 2 = 267 533 918 364 795 138 623 134 + 0;
  • 267 533 918 364 795 138 623 134 ÷ 2 = 133 766 959 182 397 569 311 567 + 0;
  • 133 766 959 182 397 569 311 567 ÷ 2 = 66 883 479 591 198 784 655 783 + 1;
  • 66 883 479 591 198 784 655 783 ÷ 2 = 33 441 739 795 599 392 327 891 + 1;
  • 33 441 739 795 599 392 327 891 ÷ 2 = 16 720 869 897 799 696 163 945 + 1;
  • 16 720 869 897 799 696 163 945 ÷ 2 = 8 360 434 948 899 848 081 972 + 1;
  • 8 360 434 948 899 848 081 972 ÷ 2 = 4 180 217 474 449 924 040 986 + 0;
  • 4 180 217 474 449 924 040 986 ÷ 2 = 2 090 108 737 224 962 020 493 + 0;
  • 2 090 108 737 224 962 020 493 ÷ 2 = 1 045 054 368 612 481 010 246 + 1;
  • 1 045 054 368 612 481 010 246 ÷ 2 = 522 527 184 306 240 505 123 + 0;
  • 522 527 184 306 240 505 123 ÷ 2 = 261 263 592 153 120 252 561 + 1;
  • 261 263 592 153 120 252 561 ÷ 2 = 130 631 796 076 560 126 280 + 1;
  • 130 631 796 076 560 126 280 ÷ 2 = 65 315 898 038 280 063 140 + 0;
  • 65 315 898 038 280 063 140 ÷ 2 = 32 657 949 019 140 031 570 + 0;
  • 32 657 949 019 140 031 570 ÷ 2 = 16 328 974 509 570 015 785 + 0;
  • 16 328 974 509 570 015 785 ÷ 2 = 8 164 487 254 785 007 892 + 1;
  • 8 164 487 254 785 007 892 ÷ 2 = 4 082 243 627 392 503 946 + 0;
  • 4 082 243 627 392 503 946 ÷ 2 = 2 041 121 813 696 251 973 + 0;
  • 2 041 121 813 696 251 973 ÷ 2 = 1 020 560 906 848 125 986 + 1;
  • 1 020 560 906 848 125 986 ÷ 2 = 510 280 453 424 062 993 + 0;
  • 510 280 453 424 062 993 ÷ 2 = 255 140 226 712 031 496 + 1;
  • 255 140 226 712 031 496 ÷ 2 = 127 570 113 356 015 748 + 0;
  • 127 570 113 356 015 748 ÷ 2 = 63 785 056 678 007 874 + 0;
  • 63 785 056 678 007 874 ÷ 2 = 31 892 528 339 003 937 + 0;
  • 31 892 528 339 003 937 ÷ 2 = 15 946 264 169 501 968 + 1;
  • 15 946 264 169 501 968 ÷ 2 = 7 973 132 084 750 984 + 0;
  • 7 973 132 084 750 984 ÷ 2 = 3 986 566 042 375 492 + 0;
  • 3 986 566 042 375 492 ÷ 2 = 1 993 283 021 187 746 + 0;
  • 1 993 283 021 187 746 ÷ 2 = 996 641 510 593 873 + 0;
  • 996 641 510 593 873 ÷ 2 = 498 320 755 296 936 + 1;
  • 498 320 755 296 936 ÷ 2 = 249 160 377 648 468 + 0;
  • 249 160 377 648 468 ÷ 2 = 124 580 188 824 234 + 0;
  • 124 580 188 824 234 ÷ 2 = 62 290 094 412 117 + 0;
  • 62 290 094 412 117 ÷ 2 = 31 145 047 206 058 + 1;
  • 31 145 047 206 058 ÷ 2 = 15 572 523 603 029 + 0;
  • 15 572 523 603 029 ÷ 2 = 7 786 261 801 514 + 1;
  • 7 786 261 801 514 ÷ 2 = 3 893 130 900 757 + 0;
  • 3 893 130 900 757 ÷ 2 = 1 946 565 450 378 + 1;
  • 1 946 565 450 378 ÷ 2 = 973 282 725 189 + 0;
  • 973 282 725 189 ÷ 2 = 486 641 362 594 + 1;
  • 486 641 362 594 ÷ 2 = 243 320 681 297 + 0;
  • 243 320 681 297 ÷ 2 = 121 660 340 648 + 1;
  • 121 660 340 648 ÷ 2 = 60 830 170 324 + 0;
  • 60 830 170 324 ÷ 2 = 30 415 085 162 + 0;
  • 30 415 085 162 ÷ 2 = 15 207 542 581 + 0;
  • 15 207 542 581 ÷ 2 = 7 603 771 290 + 1;
  • 7 603 771 290 ÷ 2 = 3 801 885 645 + 0;
  • 3 801 885 645 ÷ 2 = 1 900 942 822 + 1;
  • 1 900 942 822 ÷ 2 = 950 471 411 + 0;
  • 950 471 411 ÷ 2 = 475 235 705 + 1;
  • 475 235 705 ÷ 2 = 237 617 852 + 1;
  • 237 617 852 ÷ 2 = 118 808 926 + 0;
  • 118 808 926 ÷ 2 = 59 404 463 + 0;
  • 59 404 463 ÷ 2 = 29 702 231 + 1;
  • 29 702 231 ÷ 2 = 14 851 115 + 1;
  • 14 851 115 ÷ 2 = 7 425 557 + 1;
  • 7 425 557 ÷ 2 = 3 712 778 + 1;
  • 3 712 778 ÷ 2 = 1 856 389 + 0;
  • 1 856 389 ÷ 2 = 928 194 + 1;
  • 928 194 ÷ 2 = 464 097 + 0;
  • 464 097 ÷ 2 = 232 048 + 1;
  • 232 048 ÷ 2 = 116 024 + 0;
  • 116 024 ÷ 2 = 58 012 + 0;
  • 58 012 ÷ 2 = 29 006 + 0;
  • 29 006 ÷ 2 = 14 503 + 0;
  • 14 503 ÷ 2 = 7 251 + 1;
  • 7 251 ÷ 2 = 3 625 + 1;
  • 3 625 ÷ 2 = 1 812 + 1;
  • 1 812 ÷ 2 = 906 + 0;
  • 906 ÷ 2 = 453 + 0;
  • 453 ÷ 2 = 226 + 1;
  • 226 ÷ 2 = 113 + 0;
  • 113 ÷ 2 = 56 + 1;
  • 56 ÷ 2 = 28 + 0;
  • 28 ÷ 2 = 14 + 0;
  • 14 ÷ 2 = 7 + 0;
  • 7 ÷ 2 = 3 + 1;
  • 3 ÷ 2 = 1 + 1;
  • 1 ÷ 2 = 0 + 1;

2. 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.

2 353 253 232 532 539 224 322 353 253 232 532 531(10) =


1 1100 0101 0011 1000 0101 0111 1001 1010 1000 1010 1010 1000 1000 0100 0101 0010 0011 0100 1111 0011 1101 0001 1011 0101 0111 1101 1101 1100 0011 0011(2)


3. Convert to binary (base 2) the fractional part: 0.977.

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.977 × 2 = 1 + 0.954;
  • 2) 0.954 × 2 = 1 + 0.908;
  • 3) 0.908 × 2 = 1 + 0.816;
  • 4) 0.816 × 2 = 1 + 0.632;
  • 5) 0.632 × 2 = 1 + 0.264;
  • 6) 0.264 × 2 = 0 + 0.528;
  • 7) 0.528 × 2 = 1 + 0.056;
  • 8) 0.056 × 2 = 0 + 0.112;
  • 9) 0.112 × 2 = 0 + 0.224;
  • 10) 0.224 × 2 = 0 + 0.448;
  • 11) 0.448 × 2 = 0 + 0.896;
  • 12) 0.896 × 2 = 1 + 0.792;
  • 13) 0.792 × 2 = 1 + 0.584;
  • 14) 0.584 × 2 = 1 + 0.168;
  • 15) 0.168 × 2 = 0 + 0.336;
  • 16) 0.336 × 2 = 0 + 0.672;
  • 17) 0.672 × 2 = 1 + 0.344;
  • 18) 0.344 × 2 = 0 + 0.688;
  • 19) 0.688 × 2 = 1 + 0.376;
  • 20) 0.376 × 2 = 0 + 0.752;
  • 21) 0.752 × 2 = 1 + 0.504;
  • 22) 0.504 × 2 = 1 + 0.008;
  • 23) 0.008 × 2 = 0 + 0.016;
  • 24) 0.016 × 2 = 0 + 0.032;

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).


4. 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.977(10) =


0.1111 1010 0001 1100 1010 1100(2)

5. Positive number before normalization:

2 353 253 232 532 539 224 322 353 253 232 532 531.977(10) =


1 1100 0101 0011 1000 0101 0111 1001 1010 1000 1010 1010 1000 1000 0100 0101 0010 0011 0100 1111 0011 1101 0001 1011 0101 0111 1101 1101 1100 0011 0011.1111 1010 0001 1100 1010 1100(2)

6. Normalize the binary representation of the number.

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


2 353 253 232 532 539 224 322 353 253 232 532 531.977(10) =


1 1100 0101 0011 1000 0101 0111 1001 1010 1000 1010 1010 1000 1000 0100 0101 0010 0011 0100 1111 0011 1101 0001 1011 0101 0111 1101 1101 1100 0011 0011.1111 1010 0001 1100 1010 1100(2) =


1 1100 0101 0011 1000 0101 0111 1001 1010 1000 1010 1010 1000 1000 0100 0101 0010 0011 0100 1111 0011 1101 0001 1011 0101 0111 1101 1101 1100 0011 0011.1111 1010 0001 1100 1010 1100(2) × 20 =


1.1100 0101 0011 1000 0101 0111 1001 1010 1000 1010 1010 1000 1000 0100 0101 0010 0011 0100 1111 0011 1101 0001 1011 0101 0111 1101 1101 1100 0011 0011 1111 1010 0001 1100 1010 1100(2) × 2120


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

Sign 0 (a positive number)


Exponent (unadjusted): 120


Mantissa (not normalized):
1.1100 0101 0011 1000 0101 0111 1001 1010 1000 1010 1010 1000 1000 0100 0101 0010 0011 0100 1111 0011 1101 0001 1011 0101 0111 1101 1101 1100 0011 0011 1111 1010 0001 1100 1010 1100


8. Adjust the exponent.

Use the 8 bit excess/bias notation:


Exponent (adjusted) =


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


120 + 2(8-1) - 1 =


(120 + 127)(10) =


247(10)


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

Use the same technique of repeatedly dividing by 2:


  • division = quotient + remainder;
  • 247 ÷ 2 = 123 + 1;
  • 123 ÷ 2 = 61 + 1;
  • 61 ÷ 2 = 30 + 1;
  • 30 ÷ 2 = 15 + 0;
  • 15 ÷ 2 = 7 + 1;
  • 7 ÷ 2 = 3 + 1;
  • 3 ÷ 2 = 1 + 1;
  • 1 ÷ 2 = 0 + 1;

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

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


Exponent (adjusted) =


247(10) =


1111 0111(2)


11. 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 23 bits, by removing the excess bits, from the right (if any of the excess bits is set on 1, we are losing precision...).


Mantissa (normalized) =


1. 110 0010 1001 1100 0010 1011 1 1001 1010 1000 1010 1010 1000 1000 0100 0101 0010 0011 0100 1111 0011 1101 0001 1011 0101 0111 1101 1101 1100 0011 0011 1111 1010 0001 1100 1010 1100 =


110 0010 1001 1100 0010 1011


12. The three elements that make up the number's 32 bit single precision IEEE 754 binary floating point representation:

Sign (1 bit) =
0 (a positive number)


Exponent (8 bits) =
1111 0111


Mantissa (23 bits) =
110 0010 1001 1100 0010 1011


Decimal number 2 353 253 232 532 539 224 322 353 253 232 532 531.977 converted to 32 bit single precision IEEE 754 binary floating point representation:

0 - 1111 0111 - 110 0010 1001 1100 0010 1011


How to convert decimal numbers from base ten to 32 bit single precision IEEE 754 binary floating point standard

Follow the steps below to convert a base 10 decimal number to 32 bit single 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 base ten 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 of the previous dividing 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 previous multiplying operations, starting from the top of the constructed list 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, by shifting the decimal point (or if you prefer, the decimal mark) "n" positions either to the left or to the right, so that only one non zero digit remains to the left of the decimal point.
  • 7. Adjust the exponent in 8 bit excess/bias notation and then convert it from decimal (base 10) to 8 bit binary, by using the same technique of repeatedly dividing by 2, as shown above:
    Exponent (adjusted) = Exponent (unadjusted) + 2(8-1) - 1
  • 8. Normalize mantissa, remove the leading (leftmost) bit, since it's allways '1' (and the decimal sign if the case) and adjust its length to 23 bits, either by removing the excess bits from the right (losing precision...) or by adding extra '0' bits 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 -25.347 from decimal system (base ten) to 32 bit single precision IEEE 754 binary floating point:

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

    |-25.347| = 25.347

  • 2. First convert the integer part, 25. Divide it repeatedly by 2, keeping track of each remainder, until we get a quotient that is equal to zero:
    • division = quotient + remainder;
    • 25 ÷ 2 = 12 + 1;
    • 12 ÷ 2 = 6 + 0;
    • 6 ÷ 2 = 3 + 0;
    • 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:

    25(10) = 1 1001(2)

  • 4. Then convert the fractional part, 0.347. 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.347 × 2 = 0 + 0.694;
    • 2) 0.694 × 2 = 1 + 0.388;
    • 3) 0.388 × 2 = 0 + 0.776;
    • 4) 0.776 × 2 = 1 + 0.552;
    • 5) 0.552 × 2 = 1 + 0.104;
    • 6) 0.104 × 2 = 0 + 0.208;
    • 7) 0.208 × 2 = 0 + 0.416;
    • 8) 0.416 × 2 = 0 + 0.832;
    • 9) 0.832 × 2 = 1 + 0.664;
    • 10) 0.664 × 2 = 1 + 0.328;
    • 11) 0.328 × 2 = 0 + 0.656;
    • 12) 0.656 × 2 = 1 + 0.312;
    • 13) 0.312 × 2 = 0 + 0.624;
    • 14) 0.624 × 2 = 1 + 0.248;
    • 15) 0.248 × 2 = 0 + 0.496;
    • 16) 0.496 × 2 = 0 + 0.992;
    • 17) 0.992 × 2 = 1 + 0.984;
    • 18) 0.984 × 2 = 1 + 0.968;
    • 19) 0.968 × 2 = 1 + 0.936;
    • 20) 0.936 × 2 = 1 + 0.872;
    • 21) 0.872 × 2 = 1 + 0.744;
    • 22) 0.744 × 2 = 1 + 0.488;
    • 23) 0.488 × 2 = 0 + 0.976;
    • 24) 0.976 × 2 = 1 + 0.952;
    • We didn't get any fractional part that was equal to zero. But we had enough iterations (over Mantissa limit = 23) 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.347(10) = 0.0101 1000 1101 0100 1111 1101(2)

  • 6. Summarizing - the positive number before normalization:

    25.347(10) = 1 1001.0101 1000 1101 0100 1111 1101(2)

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

    25.347(10) =
    1 1001.0101 1000 1101 0100 1111 1101(2) =
    1 1001.0101 1000 1101 0100 1111 1101(2) × 20 =
    1.1001 0101 1000 1101 0100 1111 1101(2) × 24

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

    Sign: 1 (a negative number)

    Exponent (unadjusted): 4

    Mantissa (not-normalized): 1.1001 0101 1000 1101 0100 1111 1101

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

    Exponent (adjusted) = Exponent (unadjusted) + 2(8-1) - 1 = (4 + 127)(10) = 131(10) =
    1000 0011(2)

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

    Mantissa (not-normalized): 1.1001 0101 1000 1101 0100 1111 1101

    Mantissa (normalized): 100 1010 1100 0110 1010 0111

  • Conclusion:

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

    Exponent (8 bits) = 1000 0011

    Mantissa (23 bits) = 100 1010 1100 0110 1010 0111

  • Number -25.347, converted from the decimal system (base 10) to 32 bit single precision IEEE 754 binary floating point =
    1 - 1000 0011 - 100 1010 1100 0110 1010 0111