0,000 000 000 000 000 000 000 000 000 567 979 3 scris ca binar pe 32 biți, precizie simplă, virgulă mobilă în standard IEEE 754

Scriere 0,000 000 000 000 000 000 000 000 000 567 979 3(10) din zecimal în binar pe 32 de biți, precizie simplă, în virgulă mobilă în standard IEEE 754 (1 bit pentru semn, 8 biți pentru exponent, 23 de biți pentru mantisă)

Care sunt pașii pentru a scrie numărul
0,000 000 000 000 000 000 000 000 000 567 979 3(10) din zecimal în binar în reprezentarea pe 32 biți, precizie simplă, în virgulă mobilă în standard IEEE 754 (1 bit pentru semn, 8 biți pentru exponent, 23 de biți pentru mantisă)

1. Întâi convertește în binar (în baza 2) partea întreagă: 0.
Împarte numărul în mod repetat la 2.

Notăm mai jos, în ordine, fiecare rest al împărțirilor.

Ne oprim când obținem un cât egal cu zero.


  • împărțire = cât + rest;
  • 0 : 2 = 0 + 0;

2. Construiește reprezentarea în baza 2 a părții întregi a numărului.

Ia fiecare rest al împărțirilor începând din partea de jos a listei construite mai sus.

0(10) =


0(2)


3. Convertește în binar (baza 2) partea fracționară: 0,000 000 000 000 000 000 000 000 000 567 979 3.

Înmulțește numărul în mod repetat cu 2.


Notăm mai jos fiecare parte întreagă a înmulțirilor.


Ne oprim când obținem o parte fracționară egală cu zero.


  • #) înmulțire = întreg + fracționar;
  • 1) 0,000 000 000 000 000 000 000 000 000 567 979 3 × 2 = 0 + 0,000 000 000 000 000 000 000 000 001 135 958 6;
  • 2) 0,000 000 000 000 000 000 000 000 001 135 958 6 × 2 = 0 + 0,000 000 000 000 000 000 000 000 002 271 917 2;
  • 3) 0,000 000 000 000 000 000 000 000 002 271 917 2 × 2 = 0 + 0,000 000 000 000 000 000 000 000 004 543 834 4;
  • 4) 0,000 000 000 000 000 000 000 000 004 543 834 4 × 2 = 0 + 0,000 000 000 000 000 000 000 000 009 087 668 8;
  • 5) 0,000 000 000 000 000 000 000 000 009 087 668 8 × 2 = 0 + 0,000 000 000 000 000 000 000 000 018 175 337 6;
  • 6) 0,000 000 000 000 000 000 000 000 018 175 337 6 × 2 = 0 + 0,000 000 000 000 000 000 000 000 036 350 675 2;
  • 7) 0,000 000 000 000 000 000 000 000 036 350 675 2 × 2 = 0 + 0,000 000 000 000 000 000 000 000 072 701 350 4;
  • 8) 0,000 000 000 000 000 000 000 000 072 701 350 4 × 2 = 0 + 0,000 000 000 000 000 000 000 000 145 402 700 8;
  • 9) 0,000 000 000 000 000 000 000 000 145 402 700 8 × 2 = 0 + 0,000 000 000 000 000 000 000 000 290 805 401 6;
  • 10) 0,000 000 000 000 000 000 000 000 290 805 401 6 × 2 = 0 + 0,000 000 000 000 000 000 000 000 581 610 803 2;
  • 11) 0,000 000 000 000 000 000 000 000 581 610 803 2 × 2 = 0 + 0,000 000 000 000 000 000 000 001 163 221 606 4;
  • 12) 0,000 000 000 000 000 000 000 001 163 221 606 4 × 2 = 0 + 0,000 000 000 000 000 000 000 002 326 443 212 8;
  • 13) 0,000 000 000 000 000 000 000 002 326 443 212 8 × 2 = 0 + 0,000 000 000 000 000 000 000 004 652 886 425 6;
  • 14) 0,000 000 000 000 000 000 000 004 652 886 425 6 × 2 = 0 + 0,000 000 000 000 000 000 000 009 305 772 851 2;
  • 15) 0,000 000 000 000 000 000 000 009 305 772 851 2 × 2 = 0 + 0,000 000 000 000 000 000 000 018 611 545 702 4;
  • 16) 0,000 000 000 000 000 000 000 018 611 545 702 4 × 2 = 0 + 0,000 000 000 000 000 000 000 037 223 091 404 8;
  • 17) 0,000 000 000 000 000 000 000 037 223 091 404 8 × 2 = 0 + 0,000 000 000 000 000 000 000 074 446 182 809 6;
  • 18) 0,000 000 000 000 000 000 000 074 446 182 809 6 × 2 = 0 + 0,000 000 000 000 000 000 000 148 892 365 619 2;
  • 19) 0,000 000 000 000 000 000 000 148 892 365 619 2 × 2 = 0 + 0,000 000 000 000 000 000 000 297 784 731 238 4;
  • 20) 0,000 000 000 000 000 000 000 297 784 731 238 4 × 2 = 0 + 0,000 000 000 000 000 000 000 595 569 462 476 8;
  • 21) 0,000 000 000 000 000 000 000 595 569 462 476 8 × 2 = 0 + 0,000 000 000 000 000 000 001 191 138 924 953 6;
  • 22) 0,000 000 000 000 000 000 001 191 138 924 953 6 × 2 = 0 + 0,000 000 000 000 000 000 002 382 277 849 907 2;
  • 23) 0,000 000 000 000 000 000 002 382 277 849 907 2 × 2 = 0 + 0,000 000 000 000 000 000 004 764 555 699 814 4;
  • 24) 0,000 000 000 000 000 000 004 764 555 699 814 4 × 2 = 0 + 0,000 000 000 000 000 000 009 529 111 399 628 8;
  • 25) 0,000 000 000 000 000 000 009 529 111 399 628 8 × 2 = 0 + 0,000 000 000 000 000 000 019 058 222 799 257 6;
  • 26) 0,000 000 000 000 000 000 019 058 222 799 257 6 × 2 = 0 + 0,000 000 000 000 000 000 038 116 445 598 515 2;
  • 27) 0,000 000 000 000 000 000 038 116 445 598 515 2 × 2 = 0 + 0,000 000 000 000 000 000 076 232 891 197 030 4;
  • 28) 0,000 000 000 000 000 000 076 232 891 197 030 4 × 2 = 0 + 0,000 000 000 000 000 000 152 465 782 394 060 8;
  • 29) 0,000 000 000 000 000 000 152 465 782 394 060 8 × 2 = 0 + 0,000 000 000 000 000 000 304 931 564 788 121 6;
  • 30) 0,000 000 000 000 000 000 304 931 564 788 121 6 × 2 = 0 + 0,000 000 000 000 000 000 609 863 129 576 243 2;
  • 31) 0,000 000 000 000 000 000 609 863 129 576 243 2 × 2 = 0 + 0,000 000 000 000 000 001 219 726 259 152 486 4;
  • 32) 0,000 000 000 000 000 001 219 726 259 152 486 4 × 2 = 0 + 0,000 000 000 000 000 002 439 452 518 304 972 8;
  • 33) 0,000 000 000 000 000 002 439 452 518 304 972 8 × 2 = 0 + 0,000 000 000 000 000 004 878 905 036 609 945 6;
  • 34) 0,000 000 000 000 000 004 878 905 036 609 945 6 × 2 = 0 + 0,000 000 000 000 000 009 757 810 073 219 891 2;
  • 35) 0,000 000 000 000 000 009 757 810 073 219 891 2 × 2 = 0 + 0,000 000 000 000 000 019 515 620 146 439 782 4;
  • 36) 0,000 000 000 000 000 019 515 620 146 439 782 4 × 2 = 0 + 0,000 000 000 000 000 039 031 240 292 879 564 8;
  • 37) 0,000 000 000 000 000 039 031 240 292 879 564 8 × 2 = 0 + 0,000 000 000 000 000 078 062 480 585 759 129 6;
  • 38) 0,000 000 000 000 000 078 062 480 585 759 129 6 × 2 = 0 + 0,000 000 000 000 000 156 124 961 171 518 259 2;
  • 39) 0,000 000 000 000 000 156 124 961 171 518 259 2 × 2 = 0 + 0,000 000 000 000 000 312 249 922 343 036 518 4;
  • 40) 0,000 000 000 000 000 312 249 922 343 036 518 4 × 2 = 0 + 0,000 000 000 000 000 624 499 844 686 073 036 8;
  • 41) 0,000 000 000 000 000 624 499 844 686 073 036 8 × 2 = 0 + 0,000 000 000 000 001 248 999 689 372 146 073 6;
  • 42) 0,000 000 000 000 001 248 999 689 372 146 073 6 × 2 = 0 + 0,000 000 000 000 002 497 999 378 744 292 147 2;
  • 43) 0,000 000 000 000 002 497 999 378 744 292 147 2 × 2 = 0 + 0,000 000 000 000 004 995 998 757 488 584 294 4;
  • 44) 0,000 000 000 000 004 995 998 757 488 584 294 4 × 2 = 0 + 0,000 000 000 000 009 991 997 514 977 168 588 8;
  • 45) 0,000 000 000 000 009 991 997 514 977 168 588 8 × 2 = 0 + 0,000 000 000 000 019 983 995 029 954 337 177 6;
  • 46) 0,000 000 000 000 019 983 995 029 954 337 177 6 × 2 = 0 + 0,000 000 000 000 039 967 990 059 908 674 355 2;
  • 47) 0,000 000 000 000 039 967 990 059 908 674 355 2 × 2 = 0 + 0,000 000 000 000 079 935 980 119 817 348 710 4;
  • 48) 0,000 000 000 000 079 935 980 119 817 348 710 4 × 2 = 0 + 0,000 000 000 000 159 871 960 239 634 697 420 8;
  • 49) 0,000 000 000 000 159 871 960 239 634 697 420 8 × 2 = 0 + 0,000 000 000 000 319 743 920 479 269 394 841 6;
  • 50) 0,000 000 000 000 319 743 920 479 269 394 841 6 × 2 = 0 + 0,000 000 000 000 639 487 840 958 538 789 683 2;
  • 51) 0,000 000 000 000 639 487 840 958 538 789 683 2 × 2 = 0 + 0,000 000 000 001 278 975 681 917 077 579 366 4;
  • 52) 0,000 000 000 001 278 975 681 917 077 579 366 4 × 2 = 0 + 0,000 000 000 002 557 951 363 834 155 158 732 8;
  • 53) 0,000 000 000 002 557 951 363 834 155 158 732 8 × 2 = 0 + 0,000 000 000 005 115 902 727 668 310 317 465 6;
  • 54) 0,000 000 000 005 115 902 727 668 310 317 465 6 × 2 = 0 + 0,000 000 000 010 231 805 455 336 620 634 931 2;
  • 55) 0,000 000 000 010 231 805 455 336 620 634 931 2 × 2 = 0 + 0,000 000 000 020 463 610 910 673 241 269 862 4;
  • 56) 0,000 000 000 020 463 610 910 673 241 269 862 4 × 2 = 0 + 0,000 000 000 040 927 221 821 346 482 539 724 8;
  • 57) 0,000 000 000 040 927 221 821 346 482 539 724 8 × 2 = 0 + 0,000 000 000 081 854 443 642 692 965 079 449 6;
  • 58) 0,000 000 000 081 854 443 642 692 965 079 449 6 × 2 = 0 + 0,000 000 000 163 708 887 285 385 930 158 899 2;
  • 59) 0,000 000 000 163 708 887 285 385 930 158 899 2 × 2 = 0 + 0,000 000 000 327 417 774 570 771 860 317 798 4;
  • 60) 0,000 000 000 327 417 774 570 771 860 317 798 4 × 2 = 0 + 0,000 000 000 654 835 549 141 543 720 635 596 8;
  • 61) 0,000 000 000 654 835 549 141 543 720 635 596 8 × 2 = 0 + 0,000 000 001 309 671 098 283 087 441 271 193 6;
  • 62) 0,000 000 001 309 671 098 283 087 441 271 193 6 × 2 = 0 + 0,000 000 002 619 342 196 566 174 882 542 387 2;
  • 63) 0,000 000 002 619 342 196 566 174 882 542 387 2 × 2 = 0 + 0,000 000 005 238 684 393 132 349 765 084 774 4;
  • 64) 0,000 000 005 238 684 393 132 349 765 084 774 4 × 2 = 0 + 0,000 000 010 477 368 786 264 699 530 169 548 8;
  • 65) 0,000 000 010 477 368 786 264 699 530 169 548 8 × 2 = 0 + 0,000 000 020 954 737 572 529 399 060 339 097 6;
  • 66) 0,000 000 020 954 737 572 529 399 060 339 097 6 × 2 = 0 + 0,000 000 041 909 475 145 058 798 120 678 195 2;
  • 67) 0,000 000 041 909 475 145 058 798 120 678 195 2 × 2 = 0 + 0,000 000 083 818 950 290 117 596 241 356 390 4;
  • 68) 0,000 000 083 818 950 290 117 596 241 356 390 4 × 2 = 0 + 0,000 000 167 637 900 580 235 192 482 712 780 8;
  • 69) 0,000 000 167 637 900 580 235 192 482 712 780 8 × 2 = 0 + 0,000 000 335 275 801 160 470 384 965 425 561 6;
  • 70) 0,000 000 335 275 801 160 470 384 965 425 561 6 × 2 = 0 + 0,000 000 670 551 602 320 940 769 930 851 123 2;
  • 71) 0,000 000 670 551 602 320 940 769 930 851 123 2 × 2 = 0 + 0,000 001 341 103 204 641 881 539 861 702 246 4;
  • 72) 0,000 001 341 103 204 641 881 539 861 702 246 4 × 2 = 0 + 0,000 002 682 206 409 283 763 079 723 404 492 8;
  • 73) 0,000 002 682 206 409 283 763 079 723 404 492 8 × 2 = 0 + 0,000 005 364 412 818 567 526 159 446 808 985 6;
  • 74) 0,000 005 364 412 818 567 526 159 446 808 985 6 × 2 = 0 + 0,000 010 728 825 637 135 052 318 893 617 971 2;
  • 75) 0,000 010 728 825 637 135 052 318 893 617 971 2 × 2 = 0 + 0,000 021 457 651 274 270 104 637 787 235 942 4;
  • 76) 0,000 021 457 651 274 270 104 637 787 235 942 4 × 2 = 0 + 0,000 042 915 302 548 540 209 275 574 471 884 8;
  • 77) 0,000 042 915 302 548 540 209 275 574 471 884 8 × 2 = 0 + 0,000 085 830 605 097 080 418 551 148 943 769 6;
  • 78) 0,000 085 830 605 097 080 418 551 148 943 769 6 × 2 = 0 + 0,000 171 661 210 194 160 837 102 297 887 539 2;
  • 79) 0,000 171 661 210 194 160 837 102 297 887 539 2 × 2 = 0 + 0,000 343 322 420 388 321 674 204 595 775 078 4;
  • 80) 0,000 343 322 420 388 321 674 204 595 775 078 4 × 2 = 0 + 0,000 686 644 840 776 643 348 409 191 550 156 8;
  • 81) 0,000 686 644 840 776 643 348 409 191 550 156 8 × 2 = 0 + 0,001 373 289 681 553 286 696 818 383 100 313 6;
  • 82) 0,001 373 289 681 553 286 696 818 383 100 313 6 × 2 = 0 + 0,002 746 579 363 106 573 393 636 766 200 627 2;
  • 83) 0,002 746 579 363 106 573 393 636 766 200 627 2 × 2 = 0 + 0,005 493 158 726 213 146 787 273 532 401 254 4;
  • 84) 0,005 493 158 726 213 146 787 273 532 401 254 4 × 2 = 0 + 0,010 986 317 452 426 293 574 547 064 802 508 8;
  • 85) 0,010 986 317 452 426 293 574 547 064 802 508 8 × 2 = 0 + 0,021 972 634 904 852 587 149 094 129 605 017 6;
  • 86) 0,021 972 634 904 852 587 149 094 129 605 017 6 × 2 = 0 + 0,043 945 269 809 705 174 298 188 259 210 035 2;
  • 87) 0,043 945 269 809 705 174 298 188 259 210 035 2 × 2 = 0 + 0,087 890 539 619 410 348 596 376 518 420 070 4;
  • 88) 0,087 890 539 619 410 348 596 376 518 420 070 4 × 2 = 0 + 0,175 781 079 238 820 697 192 753 036 840 140 8;
  • 89) 0,175 781 079 238 820 697 192 753 036 840 140 8 × 2 = 0 + 0,351 562 158 477 641 394 385 506 073 680 281 6;
  • 90) 0,351 562 158 477 641 394 385 506 073 680 281 6 × 2 = 0 + 0,703 124 316 955 282 788 771 012 147 360 563 2;
  • 91) 0,703 124 316 955 282 788 771 012 147 360 563 2 × 2 = 1 + 0,406 248 633 910 565 577 542 024 294 721 126 4;
  • 92) 0,406 248 633 910 565 577 542 024 294 721 126 4 × 2 = 0 + 0,812 497 267 821 131 155 084 048 589 442 252 8;
  • 93) 0,812 497 267 821 131 155 084 048 589 442 252 8 × 2 = 1 + 0,624 994 535 642 262 310 168 097 178 884 505 6;
  • 94) 0,624 994 535 642 262 310 168 097 178 884 505 6 × 2 = 1 + 0,249 989 071 284 524 620 336 194 357 769 011 2;
  • 95) 0,249 989 071 284 524 620 336 194 357 769 011 2 × 2 = 0 + 0,499 978 142 569 049 240 672 388 715 538 022 4;
  • 96) 0,499 978 142 569 049 240 672 388 715 538 022 4 × 2 = 0 + 0,999 956 285 138 098 481 344 777 431 076 044 8;
  • 97) 0,999 956 285 138 098 481 344 777 431 076 044 8 × 2 = 1 + 0,999 912 570 276 196 962 689 554 862 152 089 6;
  • 98) 0,999 912 570 276 196 962 689 554 862 152 089 6 × 2 = 1 + 0,999 825 140 552 393 925 379 109 724 304 179 2;
  • 99) 0,999 825 140 552 393 925 379 109 724 304 179 2 × 2 = 1 + 0,999 650 281 104 787 850 758 219 448 608 358 4;
  • 100) 0,999 650 281 104 787 850 758 219 448 608 358 4 × 2 = 1 + 0,999 300 562 209 575 701 516 438 897 216 716 8;
  • 101) 0,999 300 562 209 575 701 516 438 897 216 716 8 × 2 = 1 + 0,998 601 124 419 151 403 032 877 794 433 433 6;
  • 102) 0,998 601 124 419 151 403 032 877 794 433 433 6 × 2 = 1 + 0,997 202 248 838 302 806 065 755 588 866 867 2;
  • 103) 0,997 202 248 838 302 806 065 755 588 866 867 2 × 2 = 1 + 0,994 404 497 676 605 612 131 511 177 733 734 4;
  • 104) 0,994 404 497 676 605 612 131 511 177 733 734 4 × 2 = 1 + 0,988 808 995 353 211 224 263 022 355 467 468 8;
  • 105) 0,988 808 995 353 211 224 263 022 355 467 468 8 × 2 = 1 + 0,977 617 990 706 422 448 526 044 710 934 937 6;
  • 106) 0,977 617 990 706 422 448 526 044 710 934 937 6 × 2 = 1 + 0,955 235 981 412 844 897 052 089 421 869 875 2;
  • 107) 0,955 235 981 412 844 897 052 089 421 869 875 2 × 2 = 1 + 0,910 471 962 825 689 794 104 178 843 739 750 4;
  • 108) 0,910 471 962 825 689 794 104 178 843 739 750 4 × 2 = 1 + 0,820 943 925 651 379 588 208 357 687 479 500 8;
  • 109) 0,820 943 925 651 379 588 208 357 687 479 500 8 × 2 = 1 + 0,641 887 851 302 759 176 416 715 374 959 001 6;
  • 110) 0,641 887 851 302 759 176 416 715 374 959 001 6 × 2 = 1 + 0,283 775 702 605 518 352 833 430 749 918 003 2;
  • 111) 0,283 775 702 605 518 352 833 430 749 918 003 2 × 2 = 0 + 0,567 551 405 211 036 705 666 861 499 836 006 4;
  • 112) 0,567 551 405 211 036 705 666 861 499 836 006 4 × 2 = 1 + 0,135 102 810 422 073 411 333 722 999 672 012 8;
  • 113) 0,135 102 810 422 073 411 333 722 999 672 012 8 × 2 = 0 + 0,270 205 620 844 146 822 667 445 999 344 025 6;
  • 114) 0,270 205 620 844 146 822 667 445 999 344 025 6 × 2 = 0 + 0,540 411 241 688 293 645 334 891 998 688 051 2;

Nicio parte fracționară egală cu zero n-a fost obținută. Însă am efectuat un număr suficient de iterații (peste limita de Mantisă) și am obținut măcar o parte întreagă diferită de zero => STOP (Pierdem din precizie - numărul convertit pe care îl vom obține în final va fi doar o foarte bună aproximare a celui inițial).


4. Construiește reprezentarea în baza 2 a părții fracționare a numărului.

Ia fiecare parte întreagă a rezultatelor înmulțirilor, începând din partea de sus a listei construite:


0,000 000 000 000 000 000 000 000 000 567 979 3(10) =


0,0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0010 1100 1111 1111 1111 1101 00(2)

5. Numărul pozitiv înainte de normalizare:

0,000 000 000 000 000 000 000 000 000 567 979 3(10) =


0,0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0010 1100 1111 1111 1111 1101 00(2)

6. Normalizează reprezentarea binară a numărului.

Mută virgula cu 91 poziții la dreapta, astfel încât partea întreagă a acestuia să aibă un singur bit, diferit de 0:


0,000 000 000 000 000 000 000 000 000 567 979 3(10) =


0,0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0010 1100 1111 1111 1111 1101 00(2) =


0,0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0010 1100 1111 1111 1111 1101 00(2) × 20 =


1,0110 0111 1111 1111 1110 100(2) × 2-91


7. Până la acest moment avem următoarele elemente ce vor alcătui numărul binar în reprezentare IEEE 754, precizie simplă (32 biți):

Semn 0 (un număr pozitiv)


Exponent (neajustat): -91


Mantisă (nenormalizată):
1,0110 0111 1111 1111 1110 100


8. Ajustează exponentul.

Folosește reprezentarea deplasată pe 8 biți:


Exponent (ajustat) =


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


-91 + 2(8-1) - 1 =


(-91 + 127)(10) =


36(10)


9. Convertește exponentul ajustat din zecimal (baza 10) în binar pe 8 biți.

Folosește din nou tehnica împărțirii repetate la 2:


  • împărțire = cât + rest;
  • 36 : 2 = 18 + 0;
  • 18 : 2 = 9 + 0;
  • 9 : 2 = 4 + 1;
  • 4 : 2 = 2 + 0;
  • 2 : 2 = 1 + 0;
  • 1 : 2 = 0 + 1;

10. Construiește reprezentarea în baza 2 a exponentului ajustat.

Ia fiecare rest al împărțirilor începând din partea de jos a listei construite mai sus.


Exponent (ajustat) =


36(10) =


0010 0100(2)


11. Normalizează mantisa.

a) Renunță la primul bit, cel mai din stânga, care e întotdeauna 1, și la separatorul zecimal, dacă e cazul.


b) Ajustează-i lungimea la 23 biți, doar dacă e necesar (nu e cazul aici).


Mantisă (normalizată) =


1. 011 0011 1111 1111 1111 0100 =


011 0011 1111 1111 1111 0100


12. Cele trei elemente care alcătuiesc reprezentarea numărului în sistem binar pe 32 de biți, precizie simplă, în virgulă mobilă în standard IEEE 754:

Semn (1 bit) =
0 (un număr pozitiv)


Exponent (8 biți) =
0010 0100


Mantisă (23 biți) =
011 0011 1111 1111 1111 0100


Numărul zecimal 0,000 000 000 000 000 000 000 000 000 567 979 3 scris în binar în representarea pe 32 biți, precizie simplă, în virgulă mobilă în standard IEEE 754:

0 - 0010 0100 - 011 0011 1111 1111 1111 0100


Cum să convertești numere zecimale din sistem zecimal (baza 10) în sistem binar în virgulă mobilă în reprezentarea IEEE 754, precizie simplă pe 32 de biți

Urmează pașii de mai jos pentru a converti un număr zecimal (cu virgulă) din baza zece în sistem binar în virgulă mobilă în reprezentarea IEEE 754, precizie simplă pe 32 de biți:

  • 1. Dacă numărul de convertit este negativ, se începe cu versiunea pozitivă a numărului.
  • 2. Se convertește întâi partea întreagă; împarte în mod repetat la 2 reprezentarea pozitivă a numărului întreg cu semn care trebuie convertit în sistem binar, ținând minte fiecare rest al împărțirilor. Atunci când găsim un CÂT care e egal cu ZERO => STOP
  • 3. Construiește reprezentarea în baza 2 a părții întregi a numărului, luând fiecare rest al împărțirilor începând din partea de jos a listei construite mai sus. Astfel, ultimul rest al împărțirilor de la punctul de mai sus devine primul simbol (situat cel mai la stânga) al numărului în baza doi, în timp ce primul rest devine ultimul simbol (situat cel mai la dreapta).
  • 4. Convertește apoi partea fracționară. Înmulțește în mod repetat cu 2, până se obține o parte fracționară egală cu zero, ținând minte fiecare parte întreagă a înmulțirilor.
  • 5. Construiește reprezentarea în baza 2 a părții fracționare a numărului, luând fiecare parte întreagă a rezultatelor înmulțirilor de mai sus, începând din partea de sus a listei construite (se iau părțile întregi în ordinea în care au fost obținute).
  • 6. Normalizează reprezentarea binară a numărului, mutând virgula cu "n" poziții la stânga (sau, dacă e cazul, la dreapta) astfel încât partea întreagă a acestuia să mai conțină un singur bit, diferit de '0'.
  • 7. Ajustează exponentul folosind reprezentarea deplasată pe 8 biți apoi convertește-l din zecimal (baza 10) în binar pe 8 biți, folosind tehnica împărțirii repetate la 2, așa cum am mai arătat mai sus:
    Exponent (ajustat) = Exponent (neajustat) + 2(8-1) - 1;
  • 8. Normalizează mantisa, renunțând la primul bit (cel mai din stânga), care este întotdeauna '1' (și la semnul zecimal, dacă e cazul) și ajustându-i lungimea, la 23 biți, fie renunțând la biții în exces, din dreapta (pierzând precizie...) fie adaugând tot la dreapta biți setați pe '0'.
  • 9. Semnul (ocupă 1 bit) este egal fie cu 1, dacă este un număr negativ, fie cu 0, dacă e un număr pozitiv.

Exemplu: convertește numărul negativ -25,347 din sistem zecimal (baza zece) în sistem binar în virgulă mobilă în reprezentarea IEEE 754, precizie simplă pe 32 de biți:

  • 1. Se începe cu versiunea pozitivă a numărului:

    |-25,347| = 25,347;

  • 2. Convertește întâi partea întreagă, 25. Împarte în mod repetat la 2, ținând minte fiecare rest al împărțirilor, până obținem un cât care este egal cu zero:
    • împărțire = cât + rest;
    • 25 : 2 = 12 + 1;
    • 12 : 2 = 6 + 0;
    • 6 : 2 = 3 + 0;
    • 3 : 2 = 1 + 1;
    • 1 : 2 = 0 + 1;
    • Am obținut un cât care este egal cu ZERO => STOP
  • 3. Construiește reprezentarea în baza 2 a părții întregi a numărului, luând fiecare rest al împărțirilor începând din partea de jos a listei construite mai sus:

    25(10) = 1 1001(2)

  • 4. Convertește apoi partea fracționară 0,347. Înmulțește în mod repetat cu 2, ținând minte fiecare parte întreagă a înmulțirilor, până obținem o parte fracționară egală cu zero:
    • #) înmulțire = întreg + fracționar;
    • 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;
    • Nicio parte fracționară egală cu zero n-a fost obținută prin calcule. Însă am efectuat un număr suficient de iterații (peste limita de Mantisă = 23) și a fost găsită prin calcule măcar o parte întreagă diferită de zero => STOP (pierzând precizie...).
  • 5. Construiește reprezentarea în baza 2 a părții fracționare a numărului, luând fiecare parte întreagă a rezultatelor înmulțirilor efectuate anterior, începând din partea de sus a listei construite:

    0,347(10) = 0,0101 1000 1101 0100 1111 1101(2)

  • 6. Recapitulare - numărul pozitiv înainte de normalizare:

    25,347(10) = 1 1001,0101 1000 1101 0100 1111 1101(2)

  • 7. Normalizează reprezentarea binară a numărului, mutând virgula cu 4 poziții la stânga astfel încât partea întreagă a acestuia să aibă un singur bit, diferit de '0':

    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. Până în acest moment avem următoarele elemente ce vor alcătui numărul binar în reprezentare IEEE 754, precizie simplă (32 biți):

    Semn: 1 (număr negativ);

    Exponent (neajustat): 4;

    Mantisă (nenormalizată): 1,1001 0101 1000 1101 0100 1111 1101;

  • 9. Ajustează exponentul folosind reprezentarea deplasată pe 8 biți apoi convertește-l din zecimal (baza 10) în binar (baza 2) pe 8 biți, folosind tehnica împărțirii repetate la 2, așa cum am mai arătat mai sus, ținând minte toate resturile, ce vor alcătui numărul în binar:

    Exponent (ajustat) = Exponent (neajustat) + 2(8-1) - 1 = (4 + 127)(10) = 131(10) =
    1000 0011(2)

  • 10. Normalizează mantisa, renunțând la primul bit (cel mai din stânga), care este întotdeauna '1' (și la semnul zecimal) și ajustându-i lungimea la 23 biți, prin renunțarea la biții în exces, cei din dreapta (pierzând precizie...):

    Mantisă (nenormalizată): 1,1001 0101 1000 1101 0100 1111 1101

    Mantisă (normalizată): 100 1010 1100 0110 1010 0111

  • Concluzia:

    Semn (1 bit) = 1 (un număr negativ)

    Exponent (8 biți) = 1000 0011

    Mantisă (23 biți) = 100 1010 1100 0110 1010 0111

  • Numărul -25,347 convertit din sistem zecimal (baza 10) în binar pe 32 de biți, precizie simplă, în virgulă mobilă în standard IEEE 754 este:
    1 - 1000 0011 - 100 1010 1100 0110 1010 0111