Scrie -135 291 470 604 ca binar cu semn în reprezentarea în complement față de doi (2)
Cum face calculatorul scrierea numărului -135 291 470 604(10) din zecimal în binar cu semn în reprezentarea în complement față de doi (2)
Care sunt pașii pentru scrierea numărului
-135 291 470 604 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:
|-135 291 470 604| = 135 291 470 604
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;
- 135 291 470 604 : 2 = 67 645 735 302 + 0;
- 67 645 735 302 : 2 = 33 822 867 651 + 0;
- 33 822 867 651 : 2 = 16 911 433 825 + 1;
- 16 911 433 825 : 2 = 8 455 716 912 + 1;
- 8 455 716 912 : 2 = 4 227 858 456 + 0;
- 4 227 858 456 : 2 = 2 113 929 228 + 0;
- 2 113 929 228 : 2 = 1 056 964 614 + 0;
- 1 056 964 614 : 2 = 528 482 307 + 0;
- 528 482 307 : 2 = 264 241 153 + 1;
- 264 241 153 : 2 = 132 120 576 + 1;
- 132 120 576 : 2 = 66 060 288 + 0;
- 66 060 288 : 2 = 33 030 144 + 0;
- 33 030 144 : 2 = 16 515 072 + 0;
- 16 515 072 : 2 = 8 257 536 + 0;
- 8 257 536 : 2 = 4 128 768 + 0;
- 4 128 768 : 2 = 2 064 384 + 0;
- 2 064 384 : 2 = 1 032 192 + 0;
- 1 032 192 : 2 = 516 096 + 0;
- 516 096 : 2 = 258 048 + 0;
- 258 048 : 2 = 129 024 + 0;
- 129 024 : 2 = 64 512 + 0;
- 64 512 : 2 = 32 256 + 0;
- 32 256 : 2 = 16 128 + 0;
- 16 128 : 2 = 8 064 + 0;
- 8 064 : 2 = 4 032 + 0;
- 4 032 : 2 = 2 016 + 0;
- 2 016 : 2 = 1 008 + 0;
- 1 008 : 2 = 504 + 0;
- 504 : 2 = 252 + 0;
- 252 : 2 = 126 + 0;
- 126 : 2 = 63 + 0;
- 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.
135 291 470 604(10) = 1 1111 1000 0000 0000 0000 0000 0011 0000 1100(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: 37.
- 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ă, 37,
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.
135 291 470 604(10) = 0000 0000 0000 0000 0000 0000 0001 1111 1000 0000 0000 0000 0000 0011 0000 1100
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 0000 0000 0000 0000 0000 0001 1111 1000 0000 0000 0000 0000 0011 0000 1100)
= 1111 1111 1111 1111 1111 1111 1110 0000 0111 1111 1111 1111 1111 1100 1111 0011
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 1111 1111 1111 1111 1111 1110 0000 0111 1111 1111 1111 1111 1100 1111 0011 (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):
-135 291 470 604 =
1111 1111 1111 1111 1111 1111 1110 0000 0111 1111 1111 1111 1111 1100 1111 0011 + 1
Numărul -135 291 470 604(10) scris din zecimal în binar cu semn în reprezentarea în complement față de doi (2):
-135 291 470 604(10) = 1111 1111 1111 1111 1111 1111 1110 0000 0111 1111 1111 1111 1111 1100 1111 0100
Spații au fost folosite pentru a grupa digiți, în binar câte 4, în zecimal câte 3.