1. Începe cu versiunea pozitivă a numărului:
|-2 146 958 880| = 2 146 958 880
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 146 958 880 : 2 = 1 073 479 440 + 0;
- 1 073 479 440 : 2 = 536 739 720 + 0;
- 536 739 720 : 2 = 268 369 860 + 0;
- 268 369 860 : 2 = 134 184 930 + 0;
- 134 184 930 : 2 = 67 092 465 + 0;
- 67 092 465 : 2 = 33 546 232 + 1;
- 33 546 232 : 2 = 16 773 116 + 0;
- 16 773 116 : 2 = 8 386 558 + 0;
- 8 386 558 : 2 = 4 193 279 + 0;
- 4 193 279 : 2 = 2 096 639 + 1;
- 2 096 639 : 2 = 1 048 319 + 1;
- 1 048 319 : 2 = 524 159 + 1;
- 524 159 : 2 = 262 079 + 1;
- 262 079 : 2 = 131 039 + 1;
- 131 039 : 2 = 65 519 + 1;
- 65 519 : 2 = 32 759 + 1;
- 32 759 : 2 = 16 379 + 1;
- 16 379 : 2 = 8 189 + 1;
- 8 189 : 2 = 4 094 + 1;
- 4 094 : 2 = 2 047 + 0;
- 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 146 958 880(10) = 111 1111 1111 0111 1111 1110 0010 0000(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.