0,000 000 000 000 000 000 000 000 000 247 398 816 5 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 247 398 816 5(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 247 398 816 5(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 247 398 816 5.

Î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 247 398 816 5 × 2 = 0 + 0,000 000 000 000 000 000 000 000 000 494 797 633;
  • 2) 0,000 000 000 000 000 000 000 000 000 494 797 633 × 2 = 0 + 0,000 000 000 000 000 000 000 000 000 989 595 266;
  • 3) 0,000 000 000 000 000 000 000 000 000 989 595 266 × 2 = 0 + 0,000 000 000 000 000 000 000 000 001 979 190 532;
  • 4) 0,000 000 000 000 000 000 000 000 001 979 190 532 × 2 = 0 + 0,000 000 000 000 000 000 000 000 003 958 381 064;
  • 5) 0,000 000 000 000 000 000 000 000 003 958 381 064 × 2 = 0 + 0,000 000 000 000 000 000 000 000 007 916 762 128;
  • 6) 0,000 000 000 000 000 000 000 000 007 916 762 128 × 2 = 0 + 0,000 000 000 000 000 000 000 000 015 833 524 256;
  • 7) 0,000 000 000 000 000 000 000 000 015 833 524 256 × 2 = 0 + 0,000 000 000 000 000 000 000 000 031 667 048 512;
  • 8) 0,000 000 000 000 000 000 000 000 031 667 048 512 × 2 = 0 + 0,000 000 000 000 000 000 000 000 063 334 097 024;
  • 9) 0,000 000 000 000 000 000 000 000 063 334 097 024 × 2 = 0 + 0,000 000 000 000 000 000 000 000 126 668 194 048;
  • 10) 0,000 000 000 000 000 000 000 000 126 668 194 048 × 2 = 0 + 0,000 000 000 000 000 000 000 000 253 336 388 096;
  • 11) 0,000 000 000 000 000 000 000 000 253 336 388 096 × 2 = 0 + 0,000 000 000 000 000 000 000 000 506 672 776 192;
  • 12) 0,000 000 000 000 000 000 000 000 506 672 776 192 × 2 = 0 + 0,000 000 000 000 000 000 000 001 013 345 552 384;
  • 13) 0,000 000 000 000 000 000 000 001 013 345 552 384 × 2 = 0 + 0,000 000 000 000 000 000 000 002 026 691 104 768;
  • 14) 0,000 000 000 000 000 000 000 002 026 691 104 768 × 2 = 0 + 0,000 000 000 000 000 000 000 004 053 382 209 536;
  • 15) 0,000 000 000 000 000 000 000 004 053 382 209 536 × 2 = 0 + 0,000 000 000 000 000 000 000 008 106 764 419 072;
  • 16) 0,000 000 000 000 000 000 000 008 106 764 419 072 × 2 = 0 + 0,000 000 000 000 000 000 000 016 213 528 838 144;
  • 17) 0,000 000 000 000 000 000 000 016 213 528 838 144 × 2 = 0 + 0,000 000 000 000 000 000 000 032 427 057 676 288;
  • 18) 0,000 000 000 000 000 000 000 032 427 057 676 288 × 2 = 0 + 0,000 000 000 000 000 000 000 064 854 115 352 576;
  • 19) 0,000 000 000 000 000 000 000 064 854 115 352 576 × 2 = 0 + 0,000 000 000 000 000 000 000 129 708 230 705 152;
  • 20) 0,000 000 000 000 000 000 000 129 708 230 705 152 × 2 = 0 + 0,000 000 000 000 000 000 000 259 416 461 410 304;
  • 21) 0,000 000 000 000 000 000 000 259 416 461 410 304 × 2 = 0 + 0,000 000 000 000 000 000 000 518 832 922 820 608;
  • 22) 0,000 000 000 000 000 000 000 518 832 922 820 608 × 2 = 0 + 0,000 000 000 000 000 000 001 037 665 845 641 216;
  • 23) 0,000 000 000 000 000 000 001 037 665 845 641 216 × 2 = 0 + 0,000 000 000 000 000 000 002 075 331 691 282 432;
  • 24) 0,000 000 000 000 000 000 002 075 331 691 282 432 × 2 = 0 + 0,000 000 000 000 000 000 004 150 663 382 564 864;
  • 25) 0,000 000 000 000 000 000 004 150 663 382 564 864 × 2 = 0 + 0,000 000 000 000 000 000 008 301 326 765 129 728;
  • 26) 0,000 000 000 000 000 000 008 301 326 765 129 728 × 2 = 0 + 0,000 000 000 000 000 000 016 602 653 530 259 456;
  • 27) 0,000 000 000 000 000 000 016 602 653 530 259 456 × 2 = 0 + 0,000 000 000 000 000 000 033 205 307 060 518 912;
  • 28) 0,000 000 000 000 000 000 033 205 307 060 518 912 × 2 = 0 + 0,000 000 000 000 000 000 066 410 614 121 037 824;
  • 29) 0,000 000 000 000 000 000 066 410 614 121 037 824 × 2 = 0 + 0,000 000 000 000 000 000 132 821 228 242 075 648;
  • 30) 0,000 000 000 000 000 000 132 821 228 242 075 648 × 2 = 0 + 0,000 000 000 000 000 000 265 642 456 484 151 296;
  • 31) 0,000 000 000 000 000 000 265 642 456 484 151 296 × 2 = 0 + 0,000 000 000 000 000 000 531 284 912 968 302 592;
  • 32) 0,000 000 000 000 000 000 531 284 912 968 302 592 × 2 = 0 + 0,000 000 000 000 000 001 062 569 825 936 605 184;
  • 33) 0,000 000 000 000 000 001 062 569 825 936 605 184 × 2 = 0 + 0,000 000 000 000 000 002 125 139 651 873 210 368;
  • 34) 0,000 000 000 000 000 002 125 139 651 873 210 368 × 2 = 0 + 0,000 000 000 000 000 004 250 279 303 746 420 736;
  • 35) 0,000 000 000 000 000 004 250 279 303 746 420 736 × 2 = 0 + 0,000 000 000 000 000 008 500 558 607 492 841 472;
  • 36) 0,000 000 000 000 000 008 500 558 607 492 841 472 × 2 = 0 + 0,000 000 000 000 000 017 001 117 214 985 682 944;
  • 37) 0,000 000 000 000 000 017 001 117 214 985 682 944 × 2 = 0 + 0,000 000 000 000 000 034 002 234 429 971 365 888;
  • 38) 0,000 000 000 000 000 034 002 234 429 971 365 888 × 2 = 0 + 0,000 000 000 000 000 068 004 468 859 942 731 776;
  • 39) 0,000 000 000 000 000 068 004 468 859 942 731 776 × 2 = 0 + 0,000 000 000 000 000 136 008 937 719 885 463 552;
  • 40) 0,000 000 000 000 000 136 008 937 719 885 463 552 × 2 = 0 + 0,000 000 000 000 000 272 017 875 439 770 927 104;
  • 41) 0,000 000 000 000 000 272 017 875 439 770 927 104 × 2 = 0 + 0,000 000 000 000 000 544 035 750 879 541 854 208;
  • 42) 0,000 000 000 000 000 544 035 750 879 541 854 208 × 2 = 0 + 0,000 000 000 000 001 088 071 501 759 083 708 416;
  • 43) 0,000 000 000 000 001 088 071 501 759 083 708 416 × 2 = 0 + 0,000 000 000 000 002 176 143 003 518 167 416 832;
  • 44) 0,000 000 000 000 002 176 143 003 518 167 416 832 × 2 = 0 + 0,000 000 000 000 004 352 286 007 036 334 833 664;
  • 45) 0,000 000 000 000 004 352 286 007 036 334 833 664 × 2 = 0 + 0,000 000 000 000 008 704 572 014 072 669 667 328;
  • 46) 0,000 000 000 000 008 704 572 014 072 669 667 328 × 2 = 0 + 0,000 000 000 000 017 409 144 028 145 339 334 656;
  • 47) 0,000 000 000 000 017 409 144 028 145 339 334 656 × 2 = 0 + 0,000 000 000 000 034 818 288 056 290 678 669 312;
  • 48) 0,000 000 000 000 034 818 288 056 290 678 669 312 × 2 = 0 + 0,000 000 000 000 069 636 576 112 581 357 338 624;
  • 49) 0,000 000 000 000 069 636 576 112 581 357 338 624 × 2 = 0 + 0,000 000 000 000 139 273 152 225 162 714 677 248;
  • 50) 0,000 000 000 000 139 273 152 225 162 714 677 248 × 2 = 0 + 0,000 000 000 000 278 546 304 450 325 429 354 496;
  • 51) 0,000 000 000 000 278 546 304 450 325 429 354 496 × 2 = 0 + 0,000 000 000 000 557 092 608 900 650 858 708 992;
  • 52) 0,000 000 000 000 557 092 608 900 650 858 708 992 × 2 = 0 + 0,000 000 000 001 114 185 217 801 301 717 417 984;
  • 53) 0,000 000 000 001 114 185 217 801 301 717 417 984 × 2 = 0 + 0,000 000 000 002 228 370 435 602 603 434 835 968;
  • 54) 0,000 000 000 002 228 370 435 602 603 434 835 968 × 2 = 0 + 0,000 000 000 004 456 740 871 205 206 869 671 936;
  • 55) 0,000 000 000 004 456 740 871 205 206 869 671 936 × 2 = 0 + 0,000 000 000 008 913 481 742 410 413 739 343 872;
  • 56) 0,000 000 000 008 913 481 742 410 413 739 343 872 × 2 = 0 + 0,000 000 000 017 826 963 484 820 827 478 687 744;
  • 57) 0,000 000 000 017 826 963 484 820 827 478 687 744 × 2 = 0 + 0,000 000 000 035 653 926 969 641 654 957 375 488;
  • 58) 0,000 000 000 035 653 926 969 641 654 957 375 488 × 2 = 0 + 0,000 000 000 071 307 853 939 283 309 914 750 976;
  • 59) 0,000 000 000 071 307 853 939 283 309 914 750 976 × 2 = 0 + 0,000 000 000 142 615 707 878 566 619 829 501 952;
  • 60) 0,000 000 000 142 615 707 878 566 619 829 501 952 × 2 = 0 + 0,000 000 000 285 231 415 757 133 239 659 003 904;
  • 61) 0,000 000 000 285 231 415 757 133 239 659 003 904 × 2 = 0 + 0,000 000 000 570 462 831 514 266 479 318 007 808;
  • 62) 0,000 000 000 570 462 831 514 266 479 318 007 808 × 2 = 0 + 0,000 000 001 140 925 663 028 532 958 636 015 616;
  • 63) 0,000 000 001 140 925 663 028 532 958 636 015 616 × 2 = 0 + 0,000 000 002 281 851 326 057 065 917 272 031 232;
  • 64) 0,000 000 002 281 851 326 057 065 917 272 031 232 × 2 = 0 + 0,000 000 004 563 702 652 114 131 834 544 062 464;
  • 65) 0,000 000 004 563 702 652 114 131 834 544 062 464 × 2 = 0 + 0,000 000 009 127 405 304 228 263 669 088 124 928;
  • 66) 0,000 000 009 127 405 304 228 263 669 088 124 928 × 2 = 0 + 0,000 000 018 254 810 608 456 527 338 176 249 856;
  • 67) 0,000 000 018 254 810 608 456 527 338 176 249 856 × 2 = 0 + 0,000 000 036 509 621 216 913 054 676 352 499 712;
  • 68) 0,000 000 036 509 621 216 913 054 676 352 499 712 × 2 = 0 + 0,000 000 073 019 242 433 826 109 352 704 999 424;
  • 69) 0,000 000 073 019 242 433 826 109 352 704 999 424 × 2 = 0 + 0,000 000 146 038 484 867 652 218 705 409 998 848;
  • 70) 0,000 000 146 038 484 867 652 218 705 409 998 848 × 2 = 0 + 0,000 000 292 076 969 735 304 437 410 819 997 696;
  • 71) 0,000 000 292 076 969 735 304 437 410 819 997 696 × 2 = 0 + 0,000 000 584 153 939 470 608 874 821 639 995 392;
  • 72) 0,000 000 584 153 939 470 608 874 821 639 995 392 × 2 = 0 + 0,000 001 168 307 878 941 217 749 643 279 990 784;
  • 73) 0,000 001 168 307 878 941 217 749 643 279 990 784 × 2 = 0 + 0,000 002 336 615 757 882 435 499 286 559 981 568;
  • 74) 0,000 002 336 615 757 882 435 499 286 559 981 568 × 2 = 0 + 0,000 004 673 231 515 764 870 998 573 119 963 136;
  • 75) 0,000 004 673 231 515 764 870 998 573 119 963 136 × 2 = 0 + 0,000 009 346 463 031 529 741 997 146 239 926 272;
  • 76) 0,000 009 346 463 031 529 741 997 146 239 926 272 × 2 = 0 + 0,000 018 692 926 063 059 483 994 292 479 852 544;
  • 77) 0,000 018 692 926 063 059 483 994 292 479 852 544 × 2 = 0 + 0,000 037 385 852 126 118 967 988 584 959 705 088;
  • 78) 0,000 037 385 852 126 118 967 988 584 959 705 088 × 2 = 0 + 0,000 074 771 704 252 237 935 977 169 919 410 176;
  • 79) 0,000 074 771 704 252 237 935 977 169 919 410 176 × 2 = 0 + 0,000 149 543 408 504 475 871 954 339 838 820 352;
  • 80) 0,000 149 543 408 504 475 871 954 339 838 820 352 × 2 = 0 + 0,000 299 086 817 008 951 743 908 679 677 640 704;
  • 81) 0,000 299 086 817 008 951 743 908 679 677 640 704 × 2 = 0 + 0,000 598 173 634 017 903 487 817 359 355 281 408;
  • 82) 0,000 598 173 634 017 903 487 817 359 355 281 408 × 2 = 0 + 0,001 196 347 268 035 806 975 634 718 710 562 816;
  • 83) 0,001 196 347 268 035 806 975 634 718 710 562 816 × 2 = 0 + 0,002 392 694 536 071 613 951 269 437 421 125 632;
  • 84) 0,002 392 694 536 071 613 951 269 437 421 125 632 × 2 = 0 + 0,004 785 389 072 143 227 902 538 874 842 251 264;
  • 85) 0,004 785 389 072 143 227 902 538 874 842 251 264 × 2 = 0 + 0,009 570 778 144 286 455 805 077 749 684 502 528;
  • 86) 0,009 570 778 144 286 455 805 077 749 684 502 528 × 2 = 0 + 0,019 141 556 288 572 911 610 155 499 369 005 056;
  • 87) 0,019 141 556 288 572 911 610 155 499 369 005 056 × 2 = 0 + 0,038 283 112 577 145 823 220 310 998 738 010 112;
  • 88) 0,038 283 112 577 145 823 220 310 998 738 010 112 × 2 = 0 + 0,076 566 225 154 291 646 440 621 997 476 020 224;
  • 89) 0,076 566 225 154 291 646 440 621 997 476 020 224 × 2 = 0 + 0,153 132 450 308 583 292 881 243 994 952 040 448;
  • 90) 0,153 132 450 308 583 292 881 243 994 952 040 448 × 2 = 0 + 0,306 264 900 617 166 585 762 487 989 904 080 896;
  • 91) 0,306 264 900 617 166 585 762 487 989 904 080 896 × 2 = 0 + 0,612 529 801 234 333 171 524 975 979 808 161 792;
  • 92) 0,612 529 801 234 333 171 524 975 979 808 161 792 × 2 = 1 + 0,225 059 602 468 666 343 049 951 959 616 323 584;
  • 93) 0,225 059 602 468 666 343 049 951 959 616 323 584 × 2 = 0 + 0,450 119 204 937 332 686 099 903 919 232 647 168;
  • 94) 0,450 119 204 937 332 686 099 903 919 232 647 168 × 2 = 0 + 0,900 238 409 874 665 372 199 807 838 465 294 336;
  • 95) 0,900 238 409 874 665 372 199 807 838 465 294 336 × 2 = 1 + 0,800 476 819 749 330 744 399 615 676 930 588 672;
  • 96) 0,800 476 819 749 330 744 399 615 676 930 588 672 × 2 = 1 + 0,600 953 639 498 661 488 799 231 353 861 177 344;
  • 97) 0,600 953 639 498 661 488 799 231 353 861 177 344 × 2 = 1 + 0,201 907 278 997 322 977 598 462 707 722 354 688;
  • 98) 0,201 907 278 997 322 977 598 462 707 722 354 688 × 2 = 0 + 0,403 814 557 994 645 955 196 925 415 444 709 376;
  • 99) 0,403 814 557 994 645 955 196 925 415 444 709 376 × 2 = 0 + 0,807 629 115 989 291 910 393 850 830 889 418 752;
  • 100) 0,807 629 115 989 291 910 393 850 830 889 418 752 × 2 = 1 + 0,615 258 231 978 583 820 787 701 661 778 837 504;
  • 101) 0,615 258 231 978 583 820 787 701 661 778 837 504 × 2 = 1 + 0,230 516 463 957 167 641 575 403 323 557 675 008;
  • 102) 0,230 516 463 957 167 641 575 403 323 557 675 008 × 2 = 0 + 0,461 032 927 914 335 283 150 806 647 115 350 016;
  • 103) 0,461 032 927 914 335 283 150 806 647 115 350 016 × 2 = 0 + 0,922 065 855 828 670 566 301 613 294 230 700 032;
  • 104) 0,922 065 855 828 670 566 301 613 294 230 700 032 × 2 = 1 + 0,844 131 711 657 341 132 603 226 588 461 400 064;
  • 105) 0,844 131 711 657 341 132 603 226 588 461 400 064 × 2 = 1 + 0,688 263 423 314 682 265 206 453 176 922 800 128;
  • 106) 0,688 263 423 314 682 265 206 453 176 922 800 128 × 2 = 1 + 0,376 526 846 629 364 530 412 906 353 845 600 256;
  • 107) 0,376 526 846 629 364 530 412 906 353 845 600 256 × 2 = 0 + 0,753 053 693 258 729 060 825 812 707 691 200 512;
  • 108) 0,753 053 693 258 729 060 825 812 707 691 200 512 × 2 = 1 + 0,506 107 386 517 458 121 651 625 415 382 401 024;
  • 109) 0,506 107 386 517 458 121 651 625 415 382 401 024 × 2 = 1 + 0,012 214 773 034 916 243 303 250 830 764 802 048;
  • 110) 0,012 214 773 034 916 243 303 250 830 764 802 048 × 2 = 0 + 0,024 429 546 069 832 486 606 501 661 529 604 096;
  • 111) 0,024 429 546 069 832 486 606 501 661 529 604 096 × 2 = 0 + 0,048 859 092 139 664 973 213 003 323 059 208 192;
  • 112) 0,048 859 092 139 664 973 213 003 323 059 208 192 × 2 = 0 + 0,097 718 184 279 329 946 426 006 646 118 416 384;
  • 113) 0,097 718 184 279 329 946 426 006 646 118 416 384 × 2 = 0 + 0,195 436 368 558 659 892 852 013 292 236 832 768;
  • 114) 0,195 436 368 558 659 892 852 013 292 236 832 768 × 2 = 0 + 0,390 872 737 117 319 785 704 026 584 473 665 536;
  • 115) 0,390 872 737 117 319 785 704 026 584 473 665 536 × 2 = 0 + 0,781 745 474 234 639 571 408 053 168 947 331 072;

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 247 398 816 5(10) =


0,0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0001 0011 1001 1001 1101 1000 000(2)

5. Numărul pozitiv înainte de normalizare:

0,000 000 000 000 000 000 000 000 000 247 398 816 5(10) =


0,0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0001 0011 1001 1001 1101 1000 000(2)

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

Mută virgula cu 92 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 247 398 816 5(10) =


0,0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0001 0011 1001 1001 1101 1000 000(2) =


0,0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0001 0011 1001 1001 1101 1000 000(2) × 20 =


1,0011 1001 1001 1101 1000 000(2) × 2-92


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): -92


Mantisă (nenormalizată):
1,0011 1001 1001 1101 1000 000


8. Ajustează exponentul.

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


Exponent (ajustat) =


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


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


(-92 + 127)(10) =


35(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;
  • 35 : 2 = 17 + 1;
  • 17 : 2 = 8 + 1;
  • 8 : 2 = 4 + 0;
  • 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) =


35(10) =


0010 0011(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. 001 1100 1100 1110 1100 0000 =


001 1100 1100 1110 1100 0000


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 0011


Mantisă (23 biți) =
001 1100 1100 1110 1100 0000


Numărul zecimal 0,000 000 000 000 000 000 000 000 000 247 398 816 5 scris în binar în representarea pe 32 biți, precizie simplă, în virgulă mobilă în standard IEEE 754:

0 - 0010 0011 - 001 1100 1100 1110 1100 0000


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