Complement față de doi: Întreg -> Binar: -1 048 549 Convertește (transformă) numărul întreg în sistem binar cu semn în reprezentarea în complement față de doi. Scrie numărul din sistem zecimal (baza 10) în cod binar (scris în baza doi)
Numărul întreg cu semn -1 048 549(10) convertit și scris ca binar cu semn în reprezentarea în complement față de doi (baza 2) = ?
1. Începe cu versiunea pozitivă a numărului:
|-1 048 549| = 1 048 549
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 048 549 : 2 = 524 274 + 1;
- 524 274 : 2 = 262 137 + 0;
- 262 137 : 2 = 131 068 + 1;
- 131 068 : 2 = 65 534 + 0;
- 65 534 : 2 = 32 767 + 0;
- 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 048 549(10) = 1111 1111 1111 1110 0101(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: 20.
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ă, 20,
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.
1 048 549(10) = 0000 0000 0000 1111 1111 1111 1110 0101
6. Obține reprezentarea numărului întreg negativ. Partea I:
Pentru a scrie numărul întreg negativ pe 32 biți (4 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 1111 1111 1111 1110 0101)
= 1111 1111 1111 0000 0000 0000 0001 1010
7. Obține reprezentarea numărului întreg negativ. Partea a II-a:
Pentru a scrie numărul întreg negativ pe 32 biți (4 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 0000 0000 0000 0001 1010
(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 048 549 =
1111 1111 1111 0000 0000 0000 0001 1010 + 1
Numărul -1 048 549(10), întreg cu semn, convertit din sistem zecimal (din baza 10) și scris ca binar cu semn în reprezentarea în complement față de doi:
-1 048 549(10) = 1111 1111 1111 0000 0000 0000 0001 1011
Spații au fost folosite pentru a grupa digiți, în binar câte 4, în zecimal câte 3.
Convertește numere întregi cu semn din sistemul zecimal (baza zece) în binar cu semn în reprezentarea în complement față de doi
Cum convertești un număr întreg cu semn din baza 10 în binar cu semn în reprezentarea în complement față de doi:
1) Împarte versiunea pozitivă a numărului în mod repetat la 2, ținând minte resturile operațiilor, până obții un cât egal cu 0.
2) Construiește reprezentarea în baza 2 folosind resturile obținute, începând cu ultimul rest până la primul, în această ordine.
3) Construiește reprezentarea pozitivă pentru calculator în binar cu semn astfel încât primul bit să fie 0.
4) Doar dacă numărul inițial e negativ, schimbă toți biții de pe 0 pe 1 și de pe 1 pe 0.
5) Doar dacă numărul inițial e negativ, adaugă 1 la numărul obținut la pasul anterior.