Scrie -1 229 782 938 247 303 320 ca binar cu semn în reprezentarea în complement față de doi (2)
Cum face calculatorul scrierea numărului -1 229 782 938 247 303 320(10) din zecimal în binar cu semn în reprezentarea în complement față de doi (2)
Care sunt pașii pentru scrierea numărului
-1 229 782 938 247 303 320 din zecimal în binar cu semn în reprezentarea în complement față de doi (2)?
- Un număr întreg cu semn, scris în baza zece, sau în sistem zecimal, este un număr scris folosind cifrele de la 0 la 9 și semnul, care poate fi pozitiv (+) sau negativ (-). Dacă e pozitiv de obicei semnul nu se scrie. Un număr scris în baza doi, sau în sistem binar, este un număr scris folosind întotdeauna doar cifrele 0 și 1.
1. Începe cu versiunea pozitivă a numărului:
|-1 229 782 938 247 303 320| = 1 229 782 938 247 303 320
2. Împarte numărul în mod repetat la 2:
Ținem minte fiecare rest al împărțirilor.
Ne oprim când obținem un cât egal cu zero.
- împărțire = cât + rest;
- 1 229 782 938 247 303 320 : 2 = 614 891 469 123 651 660 + 0;
- 614 891 469 123 651 660 : 2 = 307 445 734 561 825 830 + 0;
- 307 445 734 561 825 830 : 2 = 153 722 867 280 912 915 + 0;
- 153 722 867 280 912 915 : 2 = 76 861 433 640 456 457 + 1;
- 76 861 433 640 456 457 : 2 = 38 430 716 820 228 228 + 1;
- 38 430 716 820 228 228 : 2 = 19 215 358 410 114 114 + 0;
- 19 215 358 410 114 114 : 2 = 9 607 679 205 057 057 + 0;
- 9 607 679 205 057 057 : 2 = 4 803 839 602 528 528 + 1;
- 4 803 839 602 528 528 : 2 = 2 401 919 801 264 264 + 0;
- 2 401 919 801 264 264 : 2 = 1 200 959 900 632 132 + 0;
- 1 200 959 900 632 132 : 2 = 600 479 950 316 066 + 0;
- 600 479 950 316 066 : 2 = 300 239 975 158 033 + 0;
- 300 239 975 158 033 : 2 = 150 119 987 579 016 + 1;
- 150 119 987 579 016 : 2 = 75 059 993 789 508 + 0;
- 75 059 993 789 508 : 2 = 37 529 996 894 754 + 0;
- 37 529 996 894 754 : 2 = 18 764 998 447 377 + 0;
- 18 764 998 447 377 : 2 = 9 382 499 223 688 + 1;
- 9 382 499 223 688 : 2 = 4 691 249 611 844 + 0;
- 4 691 249 611 844 : 2 = 2 345 624 805 922 + 0;
- 2 345 624 805 922 : 2 = 1 172 812 402 961 + 0;
- 1 172 812 402 961 : 2 = 586 406 201 480 + 1;
- 586 406 201 480 : 2 = 293 203 100 740 + 0;
- 293 203 100 740 : 2 = 146 601 550 370 + 0;
- 146 601 550 370 : 2 = 73 300 775 185 + 0;
- 73 300 775 185 : 2 = 36 650 387 592 + 1;
- 36 650 387 592 : 2 = 18 325 193 796 + 0;
- 18 325 193 796 : 2 = 9 162 596 898 + 0;
- 9 162 596 898 : 2 = 4 581 298 449 + 0;
- 4 581 298 449 : 2 = 2 290 649 224 + 1;
- 2 290 649 224 : 2 = 1 145 324 612 + 0;
- 1 145 324 612 : 2 = 572 662 306 + 0;
- 572 662 306 : 2 = 286 331 153 + 0;
- 286 331 153 : 2 = 143 165 576 + 1;
- 143 165 576 : 2 = 71 582 788 + 0;
- 71 582 788 : 2 = 35 791 394 + 0;
- 35 791 394 : 2 = 17 895 697 + 0;
- 17 895 697 : 2 = 8 947 848 + 1;
- 8 947 848 : 2 = 4 473 924 + 0;
- 4 473 924 : 2 = 2 236 962 + 0;
- 2 236 962 : 2 = 1 118 481 + 0;
- 1 118 481 : 2 = 559 240 + 1;
- 559 240 : 2 = 279 620 + 0;
- 279 620 : 2 = 139 810 + 0;
- 139 810 : 2 = 69 905 + 0;
- 69 905 : 2 = 34 952 + 1;
- 34 952 : 2 = 17 476 + 0;
- 17 476 : 2 = 8 738 + 0;
- 8 738 : 2 = 4 369 + 0;
- 4 369 : 2 = 2 184 + 1;
- 2 184 : 2 = 1 092 + 0;
- 1 092 : 2 = 546 + 0;
- 546 : 2 = 273 + 0;
- 273 : 2 = 136 + 1;
- 136 : 2 = 68 + 0;
- 68 : 2 = 34 + 0;
- 34 : 2 = 17 + 0;
- 17 : 2 = 8 + 1;
- 8 : 2 = 4 + 0;
- 4 : 2 = 2 + 0;
- 2 : 2 = 1 + 0;
- 1 : 2 = 0 + 1;
3. Construiește reprezentarea numărului pozitiv în baza 2:
Luăm fiecare rest al împărțirilor începând din partea de jos a listei construite mai sus.
1 229 782 938 247 303 320(10) = 1 0001 0001 0001 0001 0001 0001 0001 0001 0001 0001 0001 0001 0000 1001 1000(2)
4. Determinăm lungimea în biți a numărului binar cu semn:
Lungimea actuală a numărului în baza 2, în biți: 61.
- Lungimea în biți a unui număr binar cu semn trebuie să fie egală cu o putere a lui 2:
- 21 = 2; 22 = 4; 23 = 8; 24 = 16; 25 = 32; 26 = 64; ...
- Primul bit (cel mai din stânga) indică semnul:
- 0 = număr întreg pozitiv, 1 = număr întreg negativ
Cel mai mic număr care este:
1) o putere a lui 2
2) și e mai mare decât lungimea actuală, 61,
3) astfel încât primul bit (cel mai din stânga) să fie zero
(avem de a face la acest moment cu un număr pozitiv)
=== este: 64.
5. Determină numărul binar pozitiv reprezentat în limbaj calculator, pe 64 biți (8 Octeți):
Dacă e nevoie, completează cu 0 în fața numărului în baza 2, până la lungimea cerută, 64.
1 229 782 938 247 303 320(10) = 0001 0001 0001 0001 0001 0001 0001 0001 0001 0001 0001 0001 0001 0000 1001 1000
6. Obține reprezentarea numărului întreg negativ. Partea I:
- Pentru a scrie numărul întreg negativ pe 64 biți (8 Octeți), ca binar cu semn în reprezentarea în complement față de unu, schimbă toți biții setați pe 0 cu 1 și toți biții setați pe 1 cu 0.
Schimbă biții:
Înlocuiește toți biții setați pe 0 cu 1 și toți biții setați pe 1 cu 0.
!(0001 0001 0001 0001 0001 0001 0001 0001 0001 0001 0001 0001 0001 0000 1001 1000)
= 1110 1110 1110 1110 1110 1110 1110 1110 1110 1110 1110 1110 1110 1111 0110 0111
7. Obține reprezentarea numărului întreg negativ. Partea a II-a:
- Pentru a scrie numărul întreg negativ pe 64 biți (8 Octeți), ca binar cu semn în reprezentarea în complement față de doi, adună 1 la numărul obținut mai sus 1110 1110 1110 1110 1110 1110 1110 1110 1110 1110 1110 1110 1110 1111 0110 0111 (la nr. binar cu semn în reprezentarea în complement față de unu).
La adunarea numerelor binare trecerea peste ordin se face la 2:
- 0 + 0 = 0
- 0 + 1 = 1
- 1 + 1 = 10
- 1 + 10 = 11
- 1 + 11 = 100
Adună 1 la numărul obținut mai sus
(la numărul binar cu semn în reprezentarea în complement față de unu):
-1 229 782 938 247 303 320 =
1110 1110 1110 1110 1110 1110 1110 1110 1110 1110 1110 1110 1110 1111 0110 0111 + 1
Numărul -1 229 782 938 247 303 320(10) scris din zecimal în binar cu semn în reprezentarea în complement față de doi (2):
-1 229 782 938 247 303 320(10) = 1110 1110 1110 1110 1110 1110 1110 1110 1110 1110 1110 1110 1110 1111 0110 1000
Spații au fost folosite pentru a grupa digiți, în binar câte 4, în zecimal câte 3.