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;
- 137 438 953 405 : 2 = 68 719 476 702 + 1;
- 68 719 476 702 : 2 = 34 359 738 351 + 0;
- 34 359 738 351 : 2 = 17 179 869 175 + 1;
- 17 179 869 175 : 2 = 8 589 934 587 + 1;
- 8 589 934 587 : 2 = 4 294 967 293 + 1;
- 4 294 967 293 : 2 = 2 147 483 646 + 1;
- 2 147 483 646 : 2 = 1 073 741 823 + 0;
- 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.
137 438 953 405(10) = 1 1111 1111 1111 1111 1111 1111 1111 1011 1101(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.
137 438 953 405(10) = 0000 0000 0000 0000 0000 0000 0001 1111 1111 1111 1111 1111 1111 1111 1011 1101
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,
înlocuiește toți biții setați pe 0 cu 1 și toți biții setați pe 1 cu 0.
Înlocuiește 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 1111 1111 1111 1111 1111 1111 1011 1101)
= 1111 1111 1111 1111 1111 1111 1110 0000 0000 0000 0000 0000 0000 0000 0100 0010
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 0000 0000 0000 0000 0000 0000 0100 0010
(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):
-137 438 953 405 =
1111 1111 1111 1111 1111 1111 1110 0000 0000 0000 0000 0000 0000 0000 0100 0010 + 1