1. Începe cu versiunea pozitivă a numărului:
|-2 147 221 297| = 2 147 221 297
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;
- 2 147 221 297 : 2 = 1 073 610 648 + 1;
- 1 073 610 648 : 2 = 536 805 324 + 0;
- 536 805 324 : 2 = 268 402 662 + 0;
- 268 402 662 : 2 = 134 201 331 + 0;
- 134 201 331 : 2 = 67 100 665 + 1;
- 67 100 665 : 2 = 33 550 332 + 1;
- 33 550 332 : 2 = 16 775 166 + 0;
- 16 775 166 : 2 = 8 387 583 + 0;
- 8 387 583 : 2 = 4 193 791 + 1;
- 4 193 791 : 2 = 2 096 895 + 1;
- 2 096 895 : 2 = 1 048 447 + 1;
- 1 048 447 : 2 = 524 223 + 1;
- 524 223 : 2 = 262 111 + 1;
- 262 111 : 2 = 131 055 + 1;
- 131 055 : 2 = 65 527 + 1;
- 65 527 : 2 = 32 763 + 1;
- 32 763 : 2 = 16 381 + 1;
- 16 381 : 2 = 8 190 + 1;
- 8 190 : 2 = 4 095 + 0;
- 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.
2 147 221 297(10) = 111 1111 1111 1011 1111 1111 0011 0001(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: 31.
- 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ă, 31,
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: 32.
5. Determină numărul binar pozitiv reprezentat în limbaj calculator, pe 32 biți (4 Octeți):
Dacă e nevoie, completează cu 0 în fața numărului în baza 2, până la lungimea cerută, 32.