Care sunt pașii pentru scrierea numărului întreg
-35 482 157 703 228 201 din baza 10 în sistem binar cu semn (cod în baza 2)?
- Un număr întreg cu semn, scris în baza zece, sau în sistem zecimal, este un număr scris folosind cifrele de la 0 la 9 și semnul, care poate fi pozitiv (+) sau negativ (-). Dacă e pozitiv de obicei semnul nu se scrie. Un număr scris în baza doi, sau în sistem binar, este un număr scris folosind întotdeauna doar cifrele 0 și 1.
1. Începe cu versiunea pozitivă a numărului:
|-35 482 157 703 228 201| = 35 482 157 703 228 201
2. Împarte numărul în mod repetat la 2:
Ține 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;
- 35 482 157 703 228 201 : 2 = 17 741 078 851 614 100 + 1;
- 17 741 078 851 614 100 : 2 = 8 870 539 425 807 050 + 0;
- 8 870 539 425 807 050 : 2 = 4 435 269 712 903 525 + 0;
- 4 435 269 712 903 525 : 2 = 2 217 634 856 451 762 + 1;
- 2 217 634 856 451 762 : 2 = 1 108 817 428 225 881 + 0;
- 1 108 817 428 225 881 : 2 = 554 408 714 112 940 + 1;
- 554 408 714 112 940 : 2 = 277 204 357 056 470 + 0;
- 277 204 357 056 470 : 2 = 138 602 178 528 235 + 0;
- 138 602 178 528 235 : 2 = 69 301 089 264 117 + 1;
- 69 301 089 264 117 : 2 = 34 650 544 632 058 + 1;
- 34 650 544 632 058 : 2 = 17 325 272 316 029 + 0;
- 17 325 272 316 029 : 2 = 8 662 636 158 014 + 1;
- 8 662 636 158 014 : 2 = 4 331 318 079 007 + 0;
- 4 331 318 079 007 : 2 = 2 165 659 039 503 + 1;
- 2 165 659 039 503 : 2 = 1 082 829 519 751 + 1;
- 1 082 829 519 751 : 2 = 541 414 759 875 + 1;
- 541 414 759 875 : 2 = 270 707 379 937 + 1;
- 270 707 379 937 : 2 = 135 353 689 968 + 1;
- 135 353 689 968 : 2 = 67 676 844 984 + 0;
- 67 676 844 984 : 2 = 33 838 422 492 + 0;
- 33 838 422 492 : 2 = 16 919 211 246 + 0;
- 16 919 211 246 : 2 = 8 459 605 623 + 0;
- 8 459 605 623 : 2 = 4 229 802 811 + 1;
- 4 229 802 811 : 2 = 2 114 901 405 + 1;
- 2 114 901 405 : 2 = 1 057 450 702 + 1;
- 1 057 450 702 : 2 = 528 725 351 + 0;
- 528 725 351 : 2 = 264 362 675 + 1;
- 264 362 675 : 2 = 132 181 337 + 1;
- 132 181 337 : 2 = 66 090 668 + 1;
- 66 090 668 : 2 = 33 045 334 + 0;
- 33 045 334 : 2 = 16 522 667 + 0;
- 16 522 667 : 2 = 8 261 333 + 1;
- 8 261 333 : 2 = 4 130 666 + 1;
- 4 130 666 : 2 = 2 065 333 + 0;
- 2 065 333 : 2 = 1 032 666 + 1;
- 1 032 666 : 2 = 516 333 + 0;
- 516 333 : 2 = 258 166 + 1;
- 258 166 : 2 = 129 083 + 0;
- 129 083 : 2 = 64 541 + 1;
- 64 541 : 2 = 32 270 + 1;
- 32 270 : 2 = 16 135 + 0;
- 16 135 : 2 = 8 067 + 1;
- 8 067 : 2 = 4 033 + 1;
- 4 033 : 2 = 2 016 + 1;
- 2 016 : 2 = 1 008 + 0;
- 1 008 : 2 = 504 + 0;
- 504 : 2 = 252 + 0;
- 252 : 2 = 126 + 0;
- 126 : 2 = 63 + 0;
- 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:
Ia fiecare rest al împărțirilor începând din partea de jos a listei construite mai sus.
35 482 157 703 228 201(10) = 111 1110 0000 1110 1101 0101 1001 1101 1100 0011 1110 1011 0010 1001(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: 55.
- 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) e rezervat pentru semn:
- 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ă, 55,
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:
35 482 157 703 228 201(10) = 0000 0000 0111 1110 0000 1110 1101 0101 1001 1101 1100 0011 1110 1011 0010 1001
6. Obține reprezentarea numărului întreg negativ:
Pentru a obține reprezentarea numărului întreg negativ pe 64 biți (8 Octeți),
... modifică primul bit (cel mai din stânga), din 0 în 1...
Numărul întreg -35 482 157 703 228 201(10) convertit din baza 10 și scris în sistem binar cu semn (cod în baza 2):
-35 482 157 703 228 201(10) = 1000 0000 0111 1110 0000 1110 1101 0101 1001 1101 1100 0011 1110 1011 0010 1001
Spații au fost folosite pentru a grupa digiți, în binar câte 4, în zecimal câte 3.