Scrie -1 152 921 504 606 846 331 ca binar cu semn în reprezentarea în complement față de doi (2)
Cum face calculatorul scrierea numărului -1 152 921 504 606 846 331(10) din zecimal în binar cu semn în reprezentarea în complement față de doi (2)
Care sunt pașii pentru scrierea numărului
-1 152 921 504 606 846 331 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 152 921 504 606 846 331| = 1 152 921 504 606 846 331
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 152 921 504 606 846 331 : 2 = 576 460 752 303 423 165 + 1;
- 576 460 752 303 423 165 : 2 = 288 230 376 151 711 582 + 1;
- 288 230 376 151 711 582 : 2 = 144 115 188 075 855 791 + 0;
- 144 115 188 075 855 791 : 2 = 72 057 594 037 927 895 + 1;
- 72 057 594 037 927 895 : 2 = 36 028 797 018 963 947 + 1;
- 36 028 797 018 963 947 : 2 = 18 014 398 509 481 973 + 1;
- 18 014 398 509 481 973 : 2 = 9 007 199 254 740 986 + 1;
- 9 007 199 254 740 986 : 2 = 4 503 599 627 370 493 + 0;
- 4 503 599 627 370 493 : 2 = 2 251 799 813 685 246 + 1;
- 2 251 799 813 685 246 : 2 = 1 125 899 906 842 623 + 0;
- 1 125 899 906 842 623 : 2 = 562 949 953 421 311 + 1;
- 562 949 953 421 311 : 2 = 281 474 976 710 655 + 1;
- 281 474 976 710 655 : 2 = 140 737 488 355 327 + 1;
- 140 737 488 355 327 : 2 = 70 368 744 177 663 + 1;
- 70 368 744 177 663 : 2 = 35 184 372 088 831 + 1;
- 35 184 372 088 831 : 2 = 17 592 186 044 415 + 1;
- 17 592 186 044 415 : 2 = 8 796 093 022 207 + 1;
- 8 796 093 022 207 : 2 = 4 398 046 511 103 + 1;
- 4 398 046 511 103 : 2 = 2 199 023 255 551 + 1;
- 2 199 023 255 551 : 2 = 1 099 511 627 775 + 1;
- 1 099 511 627 775 : 2 = 549 755 813 887 + 1;
- 549 755 813 887 : 2 = 274 877 906 943 + 1;
- 274 877 906 943 : 2 = 137 438 953 471 + 1;
- 137 438 953 471 : 2 = 68 719 476 735 + 1;
- 68 719 476 735 : 2 = 34 359 738 367 + 1;
- 34 359 738 367 : 2 = 17 179 869 183 + 1;
- 17 179 869 183 : 2 = 8 589 934 591 + 1;
- 8 589 934 591 : 2 = 4 294 967 295 + 1;
- 4 294 967 295 : 2 = 2 147 483 647 + 1;
- 2 147 483 647 : 2 = 1 073 741 823 + 1;
- 1 073 741 823 : 2 = 536 870 911 + 1;
- 536 870 911 : 2 = 268 435 455 + 1;
- 268 435 455 : 2 = 134 217 727 + 1;
- 134 217 727 : 2 = 67 108 863 + 1;
- 67 108 863 : 2 = 33 554 431 + 1;
- 33 554 431 : 2 = 16 777 215 + 1;
- 16 777 215 : 2 = 8 388 607 + 1;
- 8 388 607 : 2 = 4 194 303 + 1;
- 4 194 303 : 2 = 2 097 151 + 1;
- 2 097 151 : 2 = 1 048 575 + 1;
- 1 048 575 : 2 = 524 287 + 1;
- 524 287 : 2 = 262 143 + 1;
- 262 143 : 2 = 131 071 + 1;
- 131 071 : 2 = 65 535 + 1;
- 65 535 : 2 = 32 767 + 1;
- 32 767 : 2 = 16 383 + 1;
- 16 383 : 2 = 8 191 + 1;
- 8 191 : 2 = 4 095 + 1;
- 4 095 : 2 = 2 047 + 1;
- 2 047 : 2 = 1 023 + 1;
- 1 023 : 2 = 511 + 1;
- 511 : 2 = 255 + 1;
- 255 : 2 = 127 + 1;
- 127 : 2 = 63 + 1;
- 63 : 2 = 31 + 1;
- 31 : 2 = 15 + 1;
- 15 : 2 = 7 + 1;
- 7 : 2 = 3 + 1;
- 3 : 2 = 1 + 1;
- 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 152 921 504 606 846 331(10) = 1111 1111 1111 1111 1111 1111 1111 1111 1111 1111 1111 1111 1101 0111 1011(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: 60.
- 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ă, 60,
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 152 921 504 606 846 331(10) = 0000 1111 1111 1111 1111 1111 1111 1111 1111 1111 1111 1111 1111 1101 0111 1011
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.
!(0000 1111 1111 1111 1111 1111 1111 1111 1111 1111 1111 1111 1111 1101 0111 1011)
= 1111 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0010 1000 0100
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 1111 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0010 1000 0100 (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 152 921 504 606 846 331 =
1111 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0010 1000 0100 + 1
Numărul -1 152 921 504 606 846 331(10) scris din zecimal în binar cu semn în reprezentarea în complement față de doi (2):
-1 152 921 504 606 846 331(10) = 1111 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0010 1000 0101
Spații au fost folosite pentru a grupa digiți, în binar câte 4, în zecimal câte 3.