Binar cu semn în complement față de doi 1111 1111 0011 1111 1111 1110 1111 1010(2) în întreg în sistem zecimal (în baza 10) = ?
1. Număr pozitiv sau negativ?
Într-un binar cu semn în complement față de doi, primul bit (cel mai din stânga) indică semnul,
1 = negativ, 0 = pozitiv.
1111 1111 0011 1111 1111 1110 1111 1010 este reprezentarea binară a unui întreg negativ, pe 32 biți (4 Octeți).
2. Obține reprezentarea binară în complement față de unu:
* Execută acest pas doar dacă numărul e negativ *
Scade 1 din numărul binar inițial:
1111 1111 0011 1111 1111 1110 1111 1010 - 1 = 1111 1111 0011 1111 1111 1110 1111 1001
3. Obține reprezentarea binară a numărului pozitiv:
* Execută acest pas doar dacă numărul e negativ *
Înlocuiește biții setați pe 1 cu 0 și biții de pe 0 cu 1 în reprezentarea binară cu semn în complement față de unu:
!(1111 1111 0011 1111 1111 1110 1111 1001) = 0000 0000 1100 0000 0000 0001 0000 0110
4. Mapează digiții numărului binar fără semn cu puterile lui 2 corespunzătoare ordinului de mărime:
231
0 230
0 229
0 228
0 227
0 226
0 225
0 224
0 223
1 222
1 221
0 220
0 219
0 218
0 217
0 216
0 215
0 214
0 213
0 212
0 211
0 210
0 29
0 28
1 27
0 26
0 25
0 24
0 23
0 22
1 21
1 20
0
5. Înmulțește fiecare bit cu puterea lui 2 corespunzătoare, apoi însumează termenii:
0000 0000 1100 0000 0000 0001 0000 0110(2) =
(0 × 231 + 0 × 230 + 0 × 229 + 0 × 228 + 0 × 227 + 0 × 226 + 0 × 225 + 0 × 224 + 1 × 223 + 1 × 222 + 0 × 221 + 0 × 220 + 0 × 219 + 0 × 218 + 0 × 217 + 0 × 216 + 0 × 215 + 0 × 214 + 0 × 213 + 0 × 212 + 0 × 211 + 0 × 210 + 0 × 29 + 1 × 28 + 0 × 27 + 0 × 26 + 0 × 25 + 0 × 24 + 0 × 23 + 1 × 22 + 1 × 21 + 0 × 20)(10) =
(0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 8 388 608 + 4 194 304 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 256 + 0 + 0 + 0 + 0 + 0 + 4 + 2 + 0)(10) =
(8 388 608 + 4 194 304 + 256 + 4 + 2)(10) =
12 583 174(10)
6. Dacă e nevoie, ajustează semnul numărului întreg în funcție de primul digit (cel mai din stânga) al numărului binar cu semn:
1111 1111 0011 1111 1111 1110 1111 1010(2) = -12 583 174(10)
Numărul 1111 1111 0011 1111 1111 1110 1111 1010(2) convertit din binar cu semn în reprezentarea în complement față de doi în întreg în sistem zecimal (în baza 10):
1111 1111 0011 1111 1111 1110 1111 1010(2) = -12 583 174(10)
Spațiile folosite pentru a grupa digiți: pentru binar, câte 4; pentru zecimal, câte 3.
Mai multe operații de acest tip:
Convertește numere binare cu semn în complement față de doi în întregi în sistem zecimal (baza zece)
Lungimea numărului binar introdus trebuie să fie 2, 4, 8, 16, 32, sau 64 - altfel biți pe 0 vor fi adăugați în față (la stânga).