Din zecimal în binar pe 32 biți IEEE 754: Transformă numărul -0,000 000 000 000 000 000 042 351 647 362 715 017 35 în binar în reprezentarea pe 32 biți, precizie simplă, virgulă mobilă în standard IEEE 754, din sistem zecimal (baza zece)
Numărul -0,000 000 000 000 000 000 042 351 647 362 715 017 35(10) convertit și scris în binar în reprezentarea 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ă)
1. Începe cu versiunea pozitivă a numărului:
|-0,000 000 000 000 000 000 042 351 647 362 715 017 35| = 0,000 000 000 000 000 000 042 351 647 362 715 017 35
2. Î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;
3. 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)
4. Convertește în binar (baza 2) partea fracționară: 0,000 000 000 000 000 000 042 351 647 362 715 017 35.
Î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 042 351 647 362 715 017 35 × 2 = 0 + 0,000 000 000 000 000 000 084 703 294 725 430 034 7;
- 2) 0,000 000 000 000 000 000 084 703 294 725 430 034 7 × 2 = 0 + 0,000 000 000 000 000 000 169 406 589 450 860 069 4;
- 3) 0,000 000 000 000 000 000 169 406 589 450 860 069 4 × 2 = 0 + 0,000 000 000 000 000 000 338 813 178 901 720 138 8;
- 4) 0,000 000 000 000 000 000 338 813 178 901 720 138 8 × 2 = 0 + 0,000 000 000 000 000 000 677 626 357 803 440 277 6;
- 5) 0,000 000 000 000 000 000 677 626 357 803 440 277 6 × 2 = 0 + 0,000 000 000 000 000 001 355 252 715 606 880 555 2;
- 6) 0,000 000 000 000 000 001 355 252 715 606 880 555 2 × 2 = 0 + 0,000 000 000 000 000 002 710 505 431 213 761 110 4;
- 7) 0,000 000 000 000 000 002 710 505 431 213 761 110 4 × 2 = 0 + 0,000 000 000 000 000 005 421 010 862 427 522 220 8;
- 8) 0,000 000 000 000 000 005 421 010 862 427 522 220 8 × 2 = 0 + 0,000 000 000 000 000 010 842 021 724 855 044 441 6;
- 9) 0,000 000 000 000 000 010 842 021 724 855 044 441 6 × 2 = 0 + 0,000 000 000 000 000 021 684 043 449 710 088 883 2;
- 10) 0,000 000 000 000 000 021 684 043 449 710 088 883 2 × 2 = 0 + 0,000 000 000 000 000 043 368 086 899 420 177 766 4;
- 11) 0,000 000 000 000 000 043 368 086 899 420 177 766 4 × 2 = 0 + 0,000 000 000 000 000 086 736 173 798 840 355 532 8;
- 12) 0,000 000 000 000 000 086 736 173 798 840 355 532 8 × 2 = 0 + 0,000 000 000 000 000 173 472 347 597 680 711 065 6;
- 13) 0,000 000 000 000 000 173 472 347 597 680 711 065 6 × 2 = 0 + 0,000 000 000 000 000 346 944 695 195 361 422 131 2;
- 14) 0,000 000 000 000 000 346 944 695 195 361 422 131 2 × 2 = 0 + 0,000 000 000 000 000 693 889 390 390 722 844 262 4;
- 15) 0,000 000 000 000 000 693 889 390 390 722 844 262 4 × 2 = 0 + 0,000 000 000 000 001 387 778 780 781 445 688 524 8;
- 16) 0,000 000 000 000 001 387 778 780 781 445 688 524 8 × 2 = 0 + 0,000 000 000 000 002 775 557 561 562 891 377 049 6;
- 17) 0,000 000 000 000 002 775 557 561 562 891 377 049 6 × 2 = 0 + 0,000 000 000 000 005 551 115 123 125 782 754 099 2;
- 18) 0,000 000 000 000 005 551 115 123 125 782 754 099 2 × 2 = 0 + 0,000 000 000 000 011 102 230 246 251 565 508 198 4;
- 19) 0,000 000 000 000 011 102 230 246 251 565 508 198 4 × 2 = 0 + 0,000 000 000 000 022 204 460 492 503 131 016 396 8;
- 20) 0,000 000 000 000 022 204 460 492 503 131 016 396 8 × 2 = 0 + 0,000 000 000 000 044 408 920 985 006 262 032 793 6;
- 21) 0,000 000 000 000 044 408 920 985 006 262 032 793 6 × 2 = 0 + 0,000 000 000 000 088 817 841 970 012 524 065 587 2;
- 22) 0,000 000 000 000 088 817 841 970 012 524 065 587 2 × 2 = 0 + 0,000 000 000 000 177 635 683 940 025 048 131 174 4;
- 23) 0,000 000 000 000 177 635 683 940 025 048 131 174 4 × 2 = 0 + 0,000 000 000 000 355 271 367 880 050 096 262 348 8;
- 24) 0,000 000 000 000 355 271 367 880 050 096 262 348 8 × 2 = 0 + 0,000 000 000 000 710 542 735 760 100 192 524 697 6;
- 25) 0,000 000 000 000 710 542 735 760 100 192 524 697 6 × 2 = 0 + 0,000 000 000 001 421 085 471 520 200 385 049 395 2;
- 26) 0,000 000 000 001 421 085 471 520 200 385 049 395 2 × 2 = 0 + 0,000 000 000 002 842 170 943 040 400 770 098 790 4;
- 27) 0,000 000 000 002 842 170 943 040 400 770 098 790 4 × 2 = 0 + 0,000 000 000 005 684 341 886 080 801 540 197 580 8;
- 28) 0,000 000 000 005 684 341 886 080 801 540 197 580 8 × 2 = 0 + 0,000 000 000 011 368 683 772 161 603 080 395 161 6;
- 29) 0,000 000 000 011 368 683 772 161 603 080 395 161 6 × 2 = 0 + 0,000 000 000 022 737 367 544 323 206 160 790 323 2;
- 30) 0,000 000 000 022 737 367 544 323 206 160 790 323 2 × 2 = 0 + 0,000 000 000 045 474 735 088 646 412 321 580 646 4;
- 31) 0,000 000 000 045 474 735 088 646 412 321 580 646 4 × 2 = 0 + 0,000 000 000 090 949 470 177 292 824 643 161 292 8;
- 32) 0,000 000 000 090 949 470 177 292 824 643 161 292 8 × 2 = 0 + 0,000 000 000 181 898 940 354 585 649 286 322 585 6;
- 33) 0,000 000 000 181 898 940 354 585 649 286 322 585 6 × 2 = 0 + 0,000 000 000 363 797 880 709 171 298 572 645 171 2;
- 34) 0,000 000 000 363 797 880 709 171 298 572 645 171 2 × 2 = 0 + 0,000 000 000 727 595 761 418 342 597 145 290 342 4;
- 35) 0,000 000 000 727 595 761 418 342 597 145 290 342 4 × 2 = 0 + 0,000 000 001 455 191 522 836 685 194 290 580 684 8;
- 36) 0,000 000 001 455 191 522 836 685 194 290 580 684 8 × 2 = 0 + 0,000 000 002 910 383 045 673 370 388 581 161 369 6;
- 37) 0,000 000 002 910 383 045 673 370 388 581 161 369 6 × 2 = 0 + 0,000 000 005 820 766 091 346 740 777 162 322 739 2;
- 38) 0,000 000 005 820 766 091 346 740 777 162 322 739 2 × 2 = 0 + 0,000 000 011 641 532 182 693 481 554 324 645 478 4;
- 39) 0,000 000 011 641 532 182 693 481 554 324 645 478 4 × 2 = 0 + 0,000 000 023 283 064 365 386 963 108 649 290 956 8;
- 40) 0,000 000 023 283 064 365 386 963 108 649 290 956 8 × 2 = 0 + 0,000 000 046 566 128 730 773 926 217 298 581 913 6;
- 41) 0,000 000 046 566 128 730 773 926 217 298 581 913 6 × 2 = 0 + 0,000 000 093 132 257 461 547 852 434 597 163 827 2;
- 42) 0,000 000 093 132 257 461 547 852 434 597 163 827 2 × 2 = 0 + 0,000 000 186 264 514 923 095 704 869 194 327 654 4;
- 43) 0,000 000 186 264 514 923 095 704 869 194 327 654 4 × 2 = 0 + 0,000 000 372 529 029 846 191 409 738 388 655 308 8;
- 44) 0,000 000 372 529 029 846 191 409 738 388 655 308 8 × 2 = 0 + 0,000 000 745 058 059 692 382 819 476 777 310 617 6;
- 45) 0,000 000 745 058 059 692 382 819 476 777 310 617 6 × 2 = 0 + 0,000 001 490 116 119 384 765 638 953 554 621 235 2;
- 46) 0,000 001 490 116 119 384 765 638 953 554 621 235 2 × 2 = 0 + 0,000 002 980 232 238 769 531 277 907 109 242 470 4;
- 47) 0,000 002 980 232 238 769 531 277 907 109 242 470 4 × 2 = 0 + 0,000 005 960 464 477 539 062 555 814 218 484 940 8;
- 48) 0,000 005 960 464 477 539 062 555 814 218 484 940 8 × 2 = 0 + 0,000 011 920 928 955 078 125 111 628 436 969 881 6;
- 49) 0,000 011 920 928 955 078 125 111 628 436 969 881 6 × 2 = 0 + 0,000 023 841 857 910 156 250 223 256 873 939 763 2;
- 50) 0,000 023 841 857 910 156 250 223 256 873 939 763 2 × 2 = 0 + 0,000 047 683 715 820 312 500 446 513 747 879 526 4;
- 51) 0,000 047 683 715 820 312 500 446 513 747 879 526 4 × 2 = 0 + 0,000 095 367 431 640 625 000 893 027 495 759 052 8;
- 52) 0,000 095 367 431 640 625 000 893 027 495 759 052 8 × 2 = 0 + 0,000 190 734 863 281 250 001 786 054 991 518 105 6;
- 53) 0,000 190 734 863 281 250 001 786 054 991 518 105 6 × 2 = 0 + 0,000 381 469 726 562 500 003 572 109 983 036 211 2;
- 54) 0,000 381 469 726 562 500 003 572 109 983 036 211 2 × 2 = 0 + 0,000 762 939 453 125 000 007 144 219 966 072 422 4;
- 55) 0,000 762 939 453 125 000 007 144 219 966 072 422 4 × 2 = 0 + 0,001 525 878 906 250 000 014 288 439 932 144 844 8;
- 56) 0,001 525 878 906 250 000 014 288 439 932 144 844 8 × 2 = 0 + 0,003 051 757 812 500 000 028 576 879 864 289 689 6;
- 57) 0,003 051 757 812 500 000 028 576 879 864 289 689 6 × 2 = 0 + 0,006 103 515 625 000 000 057 153 759 728 579 379 2;
- 58) 0,006 103 515 625 000 000 057 153 759 728 579 379 2 × 2 = 0 + 0,012 207 031 250 000 000 114 307 519 457 158 758 4;
- 59) 0,012 207 031 250 000 000 114 307 519 457 158 758 4 × 2 = 0 + 0,024 414 062 500 000 000 228 615 038 914 317 516 8;
- 60) 0,024 414 062 500 000 000 228 615 038 914 317 516 8 × 2 = 0 + 0,048 828 125 000 000 000 457 230 077 828 635 033 6;
- 61) 0,048 828 125 000 000 000 457 230 077 828 635 033 6 × 2 = 0 + 0,097 656 250 000 000 000 914 460 155 657 270 067 2;
- 62) 0,097 656 250 000 000 000 914 460 155 657 270 067 2 × 2 = 0 + 0,195 312 500 000 000 001 828 920 311 314 540 134 4;
- 63) 0,195 312 500 000 000 001 828 920 311 314 540 134 4 × 2 = 0 + 0,390 625 000 000 000 003 657 840 622 629 080 268 8;
- 64) 0,390 625 000 000 000 003 657 840 622 629 080 268 8 × 2 = 0 + 0,781 250 000 000 000 007 315 681 245 258 160 537 6;
- 65) 0,781 250 000 000 000 007 315 681 245 258 160 537 6 × 2 = 1 + 0,562 500 000 000 000 014 631 362 490 516 321 075 2;
- 66) 0,562 500 000 000 000 014 631 362 490 516 321 075 2 × 2 = 1 + 0,125 000 000 000 000 029 262 724 981 032 642 150 4;
- 67) 0,125 000 000 000 000 029 262 724 981 032 642 150 4 × 2 = 0 + 0,250 000 000 000 000 058 525 449 962 065 284 300 8;
- 68) 0,250 000 000 000 000 058 525 449 962 065 284 300 8 × 2 = 0 + 0,500 000 000 000 000 117 050 899 924 130 568 601 6;
- 69) 0,500 000 000 000 000 117 050 899 924 130 568 601 6 × 2 = 1 + 0,000 000 000 000 000 234 101 799 848 261 137 203 2;
- 70) 0,000 000 000 000 000 234 101 799 848 261 137 203 2 × 2 = 0 + 0,000 000 000 000 000 468 203 599 696 522 274 406 4;
- 71) 0,000 000 000 000 000 468 203 599 696 522 274 406 4 × 2 = 0 + 0,000 000 000 000 000 936 407 199 393 044 548 812 8;
- 72) 0,000 000 000 000 000 936 407 199 393 044 548 812 8 × 2 = 0 + 0,000 000 000 000 001 872 814 398 786 089 097 625 6;
- 73) 0,000 000 000 000 001 872 814 398 786 089 097 625 6 × 2 = 0 + 0,000 000 000 000 003 745 628 797 572 178 195 251 2;
- 74) 0,000 000 000 000 003 745 628 797 572 178 195 251 2 × 2 = 0 + 0,000 000 000 000 007 491 257 595 144 356 390 502 4;
- 75) 0,000 000 000 000 007 491 257 595 144 356 390 502 4 × 2 = 0 + 0,000 000 000 000 014 982 515 190 288 712 781 004 8;
- 76) 0,000 000 000 000 014 982 515 190 288 712 781 004 8 × 2 = 0 + 0,000 000 000 000 029 965 030 380 577 425 562 009 6;
- 77) 0,000 000 000 000 029 965 030 380 577 425 562 009 6 × 2 = 0 + 0,000 000 000 000 059 930 060 761 154 851 124 019 2;
- 78) 0,000 000 000 000 059 930 060 761 154 851 124 019 2 × 2 = 0 + 0,000 000 000 000 119 860 121 522 309 702 248 038 4;
- 79) 0,000 000 000 000 119 860 121 522 309 702 248 038 4 × 2 = 0 + 0,000 000 000 000 239 720 243 044 619 404 496 076 8;
- 80) 0,000 000 000 000 239 720 243 044 619 404 496 076 8 × 2 = 0 + 0,000 000 000 000 479 440 486 089 238 808 992 153 6;
- 81) 0,000 000 000 000 479 440 486 089 238 808 992 153 6 × 2 = 0 + 0,000 000 000 000 958 880 972 178 477 617 984 307 2;
- 82) 0,000 000 000 000 958 880 972 178 477 617 984 307 2 × 2 = 0 + 0,000 000 000 001 917 761 944 356 955 235 968 614 4;
- 83) 0,000 000 000 001 917 761 944 356 955 235 968 614 4 × 2 = 0 + 0,000 000 000 003 835 523 888 713 910 471 937 228 8;
- 84) 0,000 000 000 003 835 523 888 713 910 471 937 228 8 × 2 = 0 + 0,000 000 000 007 671 047 777 427 820 943 874 457 6;
- 85) 0,000 000 000 007 671 047 777 427 820 943 874 457 6 × 2 = 0 + 0,000 000 000 015 342 095 554 855 641 887 748 915 2;
- 86) 0,000 000 000 015 342 095 554 855 641 887 748 915 2 × 2 = 0 + 0,000 000 000 030 684 191 109 711 283 775 497 830 4;
- 87) 0,000 000 000 030 684 191 109 711 283 775 497 830 4 × 2 = 0 + 0,000 000 000 061 368 382 219 422 567 550 995 660 8;
- 88) 0,000 000 000 061 368 382 219 422 567 550 995 660 8 × 2 = 0 + 0,000 000 000 122 736 764 438 845 135 101 991 321 6;
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).
5. 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 042 351 647 362 715 017 35(10) =
0,0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 1100 1000 0000 0000 0000 0000(2)
6. Numărul pozitiv înainte de normalizare:
0,000 000 000 000 000 000 042 351 647 362 715 017 35(10) =
0,0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 1100 1000 0000 0000 0000 0000(2)
7. Normalizează reprezentarea binară a numărului.
Mută virgula cu 65 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 042 351 647 362 715 017 35(10) =
0,0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 1100 1000 0000 0000 0000 0000(2) =
0,0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 1100 1000 0000 0000 0000 0000(2) × 20 =
1,1001 0000 0000 0000 0000 000(2) × 2-65
8. 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 1 (un număr negativ)
Exponent (neajustat): -65
Mantisă (nenormalizată):
1,1001 0000 0000 0000 0000 000
9. Ajustează exponentul.
Folosește reprezentarea deplasată pe 8 biți:
Exponent (ajustat) =
Exponent (neajustat) + 2(8-1) - 1 =
-65 + 2(8-1) - 1 =
(-65 + 127)(10) =
62(10)
10. 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;
- 62 : 2 = 31 + 0;
- 31 : 2 = 15 + 1;
- 15 : 2 = 7 + 1;
- 7 : 2 = 3 + 1;
- 3 : 2 = 1 + 1;
- 1 : 2 = 0 + 1;
11. 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) =
62(10) =
0011 1110(2)
12. 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. 100 1000 0000 0000 0000 0000 =
100 1000 0000 0000 0000 0000
13. 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) =
1 (un număr negativ)
Exponent (8 biți) =
0011 1110
Mantisă (23 biți) =
100 1000 0000 0000 0000 0000
Numărul zecimal în baza zece -0,000 000 000 000 000 000 042 351 647 362 715 017 35 convertit și scris în binar în representarea pe 32 de biți, precizie simplă, în virgulă mobilă în standard IEEE 754:
1 - 0011 1110 - 100 1000 0000 0000 0000 0000