Omni Calculator logo

Calcolatore del Complemento a Due

Created by Wojciech Sas, PhD
Reviewed by Bogna Szyk and Jack Bowater
Translated by Davide Borchia and Rangsimatiti Binda Saichompoo
Last updated: Oct 30, 2024


Ecco il calcolatore del complemento a due (o calcolatore del complemento a 2), un fantastico strumento che ti aiuta a trovare l'opposto di qualsiasi numero binario e a trasformare questo complemento a due in un valore decimale. Hai l'opportunità di imparare cosa è la rappresentazione del complemento a due e come lavorare con i numeri negativi nei sistemi binari. Nel testo puoi anche scoprire come funziona il convertitore del complemento a due o come trasformare a mano qualsiasi numero binario firmato in decimale.

🔎 Se hai bisogno di convertire solo i numeri decimali in numeri binari o viceversa, controlla il convertitore da binario a decimale 🇺🇸 di Omni!

Come si lavora con i numeri negativi in binario? — Rappresentazione del complemento a 2

Nel sistema binario, tutti i numeri sono una combinazione di due cifre, 00 o 11. Ogni cifra corrisponde a una successiva potenza di 2, partendo da destra.

Ad esempio, 1212 in binario è 11001100, dato che 12=8+4=1×23+1×22+0×21+0×2012 = 8 + 4 = 1\times2^3 + 1\times2^2 + 0\times2^1 + 0\times2^0 (usando la notazione scientifica). Il sistema esadecimale è una versione estesa del sistema binario (che utilizza la base 16 invece della base 2). Quest'ultimo è spesso utilizzato in molti software e sistemi informatici. Se vuoi saperne di più, visita il nostro convertitore da decimale a esadecimale 🇺🇸.

L'apprendimento del sistema binario porta a molte domande naturali: Che ne è dei numeri negativi nel sistema binario? Oppure come si sottraggono i numeri binari? Dato che possiamo usare 11 solo per dimostrare che qualcosa è presente o 00 per indicare la mancanza di quella cosa, ci sono due approcci principali:

  1. Rappresentazione del complemento a due o, in altre parole, notazione con segno — il primo bit indica il segno. La convenzione vuole che un numero con un 11 iniziale sia negativo, mentre un 00 iniziale denota un valore positivo. In una rappresentazione a 8 bit, possiamo scrivere qualsiasi numero da -128 a 127. Il nome deriva dal fatto che un numero negativo è il complemento a due di un numero positivo.

  2. Notazione senza segno — una rappresentazione che supporta solo valori positivi. Il suo vantaggio rispetto a quella firmata è che, all'interno dello stesso sistema a 8 bit, possiamo ottenere qualsiasi numero da 0 fino a 255.

La notazione senza segno è sufficiente se abbiamo bisogno di sommare o moltiplicare numeri positivi. Ma di solito la soluzione più pratica è quella di lavorare anche con i numeri negativi. Un aspetto utile della rappresentazione a complemento di 2 è che la sottrazione è equivalente all'aggiunta di un numero negativo, che possiamo gestire.

Come si usa il calcolatore del complemento a due? Il convertitore a complemento a due in pratica

Quando vuoi convertire un numero decimale in un valore binario nella rappresentazione a complemento di due, segui questi passaggi:

  1. Scegli il numero di bit della tua notazione. Più alto è il valore, più grande l'intervallo di numeri che puoi inserire.

  2. Scrivi qualsiasi numero decimale intero all'interno dell'intervallo che appare nella sezione Da decimale a binario.

  3. ... e il gioco è fatto — il calcolatore del complemento a 2 farà il resto del lavoro, mostrando il numero binario equivalente e il suo complemento a due.

Vuoi stimare il risultato a mano? Ecco come lo fa il calcolatore del complemento a due:

  1. Scegli il numero di bit della rappresentazione binaria. Supponiamo di volere dei valori nel sistema a 8 bit.

  2. Scrivi il tuo numero, ad esempio 16. 16 in binario è 1 00001\ 0000.

  3. Aggiungi alcuni 00 iniziali in modo che il numero abbia otto cifre, 0001 00000001\ 0000. Questo è 16 nella notazione del complemento a due.

E che dire della sua controparte, 16-16?

  1. Cambia tutte le cifre con il loro opposto (010\rightarrow1 e 101\rightarrow0). Nel nostro caso, 0001 00001110 11110001\ 0000 \rightarrow 1110\ 1111.

  2. Aggiungi 1 a questo valore, 1110 1111+1=1111 00001110\ 1111 + 1 = 1111\ 0000.

  3. 1111 00001111\ 0000 nella rappresentazione a complemento di due è 16-16 in notazione decimale ed è il complemento a 2 di 0001 00000001\ 0000.

Finché sai cambiare le cifre e aggiungere l'unità a un valore binario, calcolare i numeri negativi in binario non è un grosso problema!

🔎 In caso di addizione di numeri binari, potresti trovare utile il nostro calcolatore per l'addizione binaria 🇺🇸.

Trasformazione del complemento a due in decimale

Il nostro calcolatore del complemento a 2 può funzionare anche al contrario, convertendo qualsiasi complemento a due nel suo valore decimale. Proviamo a convertire 1011 10111011\ 1011, un numero binario con segno, in decimale. Due metodi utili ti aiutano a trovare il risultato:

Metodo 1

Converti questo numerio binario con segno in decimale, come al solito, ma moltiplicando la cifra iniziale per 1-1 invece che per 11. Partendo da destra:

Decimale=1×20+1×21+0×22+1×23+1×24+1×25+0×261×27=1+2+8+16+32128=69.\scriptsize \begin{split} \rm{Decimale} &= 1\times2^0+1\times2^1+0\times2^2+1\times2^3\\ &+1\times2^4+1\times2^5+0\times2^6-1\times2^7\\ &=1+2+8+16+32-128 \\ &= -69. \end{split}

Metodo 2

Possiamo notare che la prima cifra è 11, quindi il nostro numero è negativo. Per prima cosa, trova il complemento a due, poi converti il valore in decimale e torna al valore originale:

  1. Inverti le cifre, 1011 10110100 01001011\ 1011 \rightarrow 0100\ 0100.
  2. Aggiungi un'unità, 0100 0100+1=0100 01010100\ 0100 + 1 = 0100\ 0101.
  3. Converti in decimale (partendo da destra),
Decimale=1×20+0×21+1×22+0×23+0×24+0×25+1×26+0×27\scriptsize \begin{split} \qquad \rm{Decimale} =& \,1\!\times\!2^0 \!+\! 0\!\times\!2^1 \!+\! 1\!\times\!2^2 \!+\! 0\!\times\!2^3\\ +& \,0\!\times\!2^4 \!+\! 0\!\times\!2^5 \!+\! 1\!\times\!2^6 \!+\! 0\!\times\!2^7 \end{split}
  1. Decimale=1+4+64=69\rm{Decimale} = 1 + 4 + 64 = 69.
  2. Poiché 6969 è il valore assoluto del nostro binario iniziale (negativo), aggiungi un segno meno davanti a esso.
  3. 1011 10111011\ 1011 è 69-69 nella notazione binaria a complemento di due.

Tabella da binario con segno a decimale

Se vuoi trovare un qualsiasi numero intero nella rappresentazione del complemento a due a otto bit, questa tabella può esserti utile. Puoi vedere sia il valore che il suo complemento a due nella stessa riga.

Se vuoi lavorare con i valori di un numero diverso di bit, usa il nostro calcolatore del complemento a due per risparmiare tempo e fatica!

Decimale

Binario

Decimale

Binario

0

0000 0000

1

0000 0001

-1

1111 1111

2

0000 0010

-2

1111 1110

3

0000 0011

-3

1111 1101

4

0000 0100

-4

1111 1100

5

0000 0101

-5

1111 1011

6

0000 0110

-6

1111 1010

7

0000 0111

-7

1111 1001

8

0000 1000

-8

1111 1000

9

0000 1001

-9

1111 0111

10

0000 1010

-10

1111 0110

11

0000 1011

-11

1111 0101

12

0000 1100

-12

1111 0100

13

0000 1101

-13

1111 0011

14

0000 1110

-14

1111 0010

15

0000 1111

-15

1111 0001

16

0001 0000

-16

1111 0000

17

0001 0001

-17

1110 1111

18

0001 0010

-18

1110 1110

19

0001 0011

-19

1110 1101

20

0001 0100

-20

1110 1100

21

0001 0101

-21

1110 1011

22

0001 0110

-22

1110 1010

23

0001 0111

-23

1110 1001

24

0001 1000

-24

1110 1000

25

0001 1001

-25

1110 0111

26

0001 1010

-26

1110 0110

27

0001 1011

-27

1110 0101

28

0001 1100

-28

1110 0100

29

0001 1101

-29

1110 0011

30

0001 1110

-30

1110 0010

31

0001 1111

-31

1110 0001

32

0010 0000

-32

1110 0000

33

0010 0001

-33

1101 1111

34

0010 0010

-34

1101 1110

35

0010 0011

-35

1101 1101

36

0010 0100

-36

1101 1100

37

0010 0101

-37

1101 1011

38

0010 0110

-38

1101 1010

39

0010 0111

-39

1101 1001

40

0010 1000

-40

1101 1000

41

0010 1001

-41

1101 0111

42

0010 1010

-42

1101 0110

43

0010 1011

-43

1101 0101

44

0010 1100

-44

1101 0100

45

0010 1101

-45

1101 0011

46

0010 1110

-46

1101 0010

47

0010 1111

-47

1101 0001

48

0011 0000

-48

1101 0000

49

0011 0001

-49

1100 1111

50

0011 0010

-50

1100 1110

51

0011 0011

-51

1100 1101

52

0011 0100

-52

1100 1100

53

0011 0101

-53

1100 1011

54

0011 0110

-54

1100 1010

55

0011 0111

-55

1100 1001

56

0011 1000

-56

1100 1000

57

0011 1001

-57

1100 0111

58

0011 1010

-58

1100 0110

59

0011 1011

-59

1100 0101

60

0011 1100

-60

1100 0100

61

0011 1101

-61

1100 0011

62

0011 1110

-62

1100 0010

63

0011 1111

-63

1100 0001

64

0100 0000

-64

1100 0000

65

0100 0001

-65

1011 1111

66

0100 0010

-66

1011 1110

67

0100 0011

-67

1011 1101

68

0100 0100

-68

1011 1100

69

0100 0101

-69

1011 1011

70

0100 0110

-70

1011 1010

71

0100 0111

-71

1011 1001

72

0100 1000

-72

1011 1000

73

0100 1001

-73

1011 0111

74

0100 1010

-74

1011 0110

75

0100 1011

-75

1011 0101

76

0100 1100

-76

1011 0100

77

0100 1101

-77

1011 0011

78

0100 1110

-78

1011 0010

79

0100 1111

-79

1011 0001

80

0101 0000

-80

1011 0000

81

0101 0001

-81

1010 1111

82

0101 0010

-82

1010 1110

83

0101 0011

-83

1010 1101

84

0101 0100

-84

1010 1100

85

0101 0101

-85

1010 1011

86

0101 0110

-86

1010 1010

87

0101 0111

-87

1010 1001

88

0101 1000

-88

1010 1000

89

0101 1001

-89

1010 0111

90

0101 1010

-90

1010 0110

91

0101 1011

-91

1010 0101

92

0101 1100

-92

1010 0100

93

0101 1101

-93

1010 0011

94

0101 1110

-94

1010 0010

95

0101 1111

-95

1010 0001

96

0110 0000

-96

1010 0000

97

0110 0001

-97

1001 1111

98

0110 0010

-98

1001 1110

99

0110 0011

-99

1001 1101

100

0110 0100

-100

1001 1100

101

0110 0101

-101

1001 1011

102

0110 0110

-102

1001 1010

103

0110 0111

-103

1001 1001

104

0110 1000

-104

1001 1000

105

0110 1001

-105

1001 0111

106

0110 1010

-106

1001 0110

107

0110 1011

-107

1001 0101

108

0110 1100

-108

1001 0100

109

0110 1101

-109

1001 0011

110

0110 1110

-110

1001 0010

111

0110 1111

-111

1001 0001

112

0111 0000

-112

1001 0000

113

0111 0001

-113

1000 1111

114

0111 0010

-114

1000 1110

115

0111 0011

-115

1000 1101

116

0111 0100

-116

1000 1100

117

0111 0101

-117

1000 1011

118

0111 0110

-118

1000 1010

119

0111 0111

-119

1000 1001

120

0111 1000

-120

1000 1000

121

0111 1001

-121

1000 0111

122

0111 1010

-122

1000 0110

123

0111 1011

-123

1000 0101

124

0111 1100

-124

1000 0100

125

0111 1101

-125

1000 0011

126

0111 1110

-126

1000 0010

127

0111 1111

-127

1000 0001

-128

1000 0000

FAQ

Che cos'è il complemento a due?

Il complemento a due è un modo per rappresentare i numeri negativi in binario quando il segno meno non è disponibile. Il segno meno viene sostituito nella rappresentazione del complemento a due da una cifra, solitamente quella iniziale.

  • Se la cifra iniziale è 0, il numero è positivo.
  • Se la cifra iniziale è 1, il numero è negativo.

Come si calcola il complemento a due di un numero?

Per calcolare il complemento a due di un numero:

  1. Se il numero è negativo, sottrailo alla potenza di 2 con esponente corrispondente al numero di bit della rappresentazione scelta;
  2. Converti il numero in binario;
  3. Se il numero è negativo, aggiungi 1 alla posizione corretta e completali numero con 0 a sinistra; e
  4. Se il numero era positivo, aggiungi 0 a sinistra per ottenere la lunghezza desiderata.

Quali sono gli svantaggi della notazione del complemento a due?

La notazione del complemento a due riduce di un numero la rappresentazione binaria di un numero. Ciò significa che, utilizzando una rappresentazione a 8 bit, possiamo rappresentare numeri da -27 = -128 a 27-1 = 127. Se avessimo rinunciato all'uso dei numeri negativi, 8 bit ci avrebbero permesso di rappresentare numeri da 0 a 28-1 = 255.

Qual è la notazione a 8 bit a complemento di due di -37?

La rappresentazione a 8 bit del complemento a due di -37 è 110110112. Per trovare questo risultato:

  1. Sottrai 37 da 27: 128 - 37 =91.
  2. Trova la rappresentazione binaria di 91:
    91 = 64 + 16 + 8 + 2 + 1
    = 1 × 26 + 0 × 25 + 1 × 24 + 1 × 23 + 0 × 22 + 1 × 21 + 1 × 20
    =1011011.
  3. Metti 1 nella posizione corretta per indicare che siamo partiti da un numero negativo:
    -3710 = 110110112.
Wojciech Sas, PhD
Binary number representation
8-bit
Decimal to binary
You can enter a decimal number between -128 and 127.
Decimal
Binary to decimal
You can write a binary number with no more than 8 digits. You don't have to input leading zeros.
Binary
Check out 13 similar binary calculators 1️0️
ANDBinary additionBinary division… 10 more
People also viewed…

Circle skirt

Circle skirt calculator makes sewing circle skirts a breeze.

Common denominator

This common denominator calculator finds the common denominator of a set of fractions.

Diamond problem

With our diamond problem calculator you'll solve any type of diamond problem.

Podcasts

Do you feel like you could be doing something more productive or educational while on a bus? Or while cleaning the house? Well, why don't you dive into the rich world of podcasts! With this podcast calculator, we'll work out just how many great interviews or fascinating stories you can go through by reclaiming your 'dead time'!