Omni Calculator logo

Calculadora de Complemento de Dois

Created by Wojciech Sas, PhD
Reviewed by Bogna Szyk and Jack Bowater
Translated by João Rafael Lucio dos Santos, PhD and Marinara Andrade do Nascimento Moura, PhD candidate
Last updated: Oct 30, 2024


Aqui está a calculadora de complemento de dois da Omni, uma ferramenta fantástica que ajuda você a encontrar o oposto de qualquer número binário e a transformar este complemento de dois em um valor decimal. Você tem a oportunidade de aprender o que é a representação do complemento de dois e como trabalhar com números negativos em sistemas binários. No texto, você também pode descobrir como esse conversor de complemento de dois funciona ou como transformar qualquer binário em decimal manualmente.

🔎 Se você só precisa converter decimal em binário ou vice-versa, consulte o conversor binário 🇺🇸 da Omni!

Como trabalhar com números negativos no sistema binário? - Representação do complemento de 2

No sistema binário, todos os números são uma combinação de dois dígitos, 00 ou 11. Cada dígito corresponde a uma potência sucessiva de 2, começando à direita.

Por exemplo, 1212 em binário é 11001100, como 12=8+4=123+122+021+02012 = 8 + 4 = 1\cdot2^3 + 1\cdot2^2 + 0\cdot2^1 + 0\cdot2^0 (usando notação científica). Além do sistema binário, existe o sistema hexadecimal, que é uma versão estendida do sistema binário, mas usa a base 16 ao invés da base 2. Esse último é usado com frequência em muitos softwares e sistemas de computador. Se você quiser saber mais, acesse o conversor de decimal para hexadecimal 🇺🇸 da Omni.

Aprender sobre o sistema binário leva a muitas perguntas: O que acontece com os números negativos no sistema binário? Ou como faço para subtrair números binários? Neste caso, a Omni tem uma ferramenta dedicada especialmente para você, a calculadora de subtração binária. Como só podemos usar 11 para mostrar que alguma quantidade está presente ou 00 para caracterizar que há ausência dessa quantidade, ficamos com duas abordagens principais:

  1. Representação do complemento de dois. Neste caso, o primeiro bit informa o sinal. A convenção é que um número com um 11 à esquerda é negativo, enquanto um 00 à esquerda denota um valor positivo. Em uma representação de 8 bits, podemos escrever qualquer número de -128 a 127. O nome vem do fato de que um número negativo nesta representação é obtido a partir do complemento de 1 acrescido de 1.

  2. Notação sem sinal. Esta é uma representação que suporta apenas valores positivos. Sua vantagem sobre a notação do complemento de dois é que, no mesmo sistema de 8 bits, podemos obter qualquer número de 0 a 255.

A notação sem sinal é boa o suficiente se você precisar adicionar ou multiplicar números positivos. Mas, em alguns casos, é necessário trabalhar com números negativos também. Um aspecto útil da representação do complemento de 2 é que a subtração é equivalente a uma adição de um número negativo, facilitando a sua implementação.

Como usar a calculadora de complemento de dois? Conversor de complemento de dois na prática

Sempre que você quiser converter um número decimal em um valor binário na representação de complemento de dois, siga estas etapas:

  1. Escolha o número de bits em sua notação. Quanto maior o valor, mais ampla será a gama de números que você poderá inserir.

  2. Escreva qualquer decimal inteiro dentro do intervalo que aparece na seção Decimal para binário.

  3. ... e é isso! A calculadora de complemento de 2 fará o resto do trabalho! Ela mostra o número binário equivalente e seu complemento de dois.

Você quer estimar o resultado manualmente? É assim que a calculadora de complemento de dois faz esse procedimento:

  1. Escolha o número de bits na representação binária. Vamos supor que você queira valores no sistema de 8 bits.

  2. Escreva seu número, digamos 16. 16 em binário é 1 00001\ 0000.

  3. Adicione alguns 00's à esquerda para que o número tenha oito dígitos, 0001 00000001\ 0000. Isso é 16 na notação de complemento de dois.

E como seria para 16-16?

  1. Troque todos os dígitos por seus opostos (010\rightarrow1 e 101\rightarrow0). No nosso caso, 0001 00001110 11110001\ 0000 \rightarrow 1110\ 1111.

  2. Adicione 1 a esse valor, 1110 1111+1=1111 00001110\ 1111 + 1 = 1111\ 0000.

  3. 1111 00001111\ 0000 na representação do complemento de dois é 16-16 na notação decimal e é o complemento de 2 de 0001 00000001\ 0000.

Observe que, desde que você saiba trocar os dígitos e adicionar a unidade a um valor binário, avaliar números negativos em binário não é um grande problema!

🔎 No caso da adição de números binários, você pode achar útil a calculadora de adição binária da Omni.

Transformando o complemento de dois em decimal

Nossa calculadora de complemento de 2 também pode funcionar de forma inversa, convertendo qualquer complemento de 2 em seu valor decimal. Vamos tentar converter 1011 10111011\ 1011, um binário, em decimal. Dois métodos úteis ajudam você a encontrar o resultado:

Método 1

Converta esse binário em decimal, como de costume, mas multiplique o dígito inicial por 1-1 ao invés de 11. Começando pela direita:

decimal=120+121+022+123+124+125+026127=1+2+8+16+32128=69\scriptsize \begin{split} \rm{decimal} &= 1\cdot2^0+1\cdot2^1+0\cdot2^2+1\cdot2^3\\ &+1\cdot2^4+1\cdot2^5+0\cdot2^6-1\cdot2^7\\ &=1+2+8+16+32-128 \\ &= -69 \end{split}

Método 2

Podemos ver que o primeiro dígito é 11, portanto, nosso número é negativo. Primeiro, encontre o complemento de dois, depois converta o valor em um decimal e volte ao valor original:

  1. Inverta os dígitos, 1011 10110100 01001011\ 1011 \rightarrow 0100\ 0100.
  2. Adicione uma unidade, 0100 0100+1=0100 01010100\ 0100 + 1 = 0100\ 0101.
  3. Converta em um decimal (começando pela direita),
decimal=120+021+122+023+024+025+126+027\scriptsize \begin{split} \qquad \rm{decimal} =& \,1\!\cdot\!2^0 \!+\! 0\!\cdot\!2^1 \!+\! 1\!\cdot\!2^2 \!+\! 0\!\cdot\!2^3\\ +& \,0\!\cdot\!2^4 \!+\! 0\!\cdot\!2^5 \!+\! 1\!\cdot\!2^6 \!+\! 0\!\cdot\!2^7 \end{split}
  1. decimal=1+4+64=69\rm{decimal} = 1 + 4 + 64 = 69.
  2. Como 6969 é o valor absoluto de nosso binário inicial (negativo), adicione um sinal de menos na frente dele.
  3. 1011 10111011\ 1011 é 69-69 na notação binária de complemento de dois.

Tabela de binário de complemento de dois para decimal

Se quiser encontrar qualquer número inteiro na representação de oito bits do complemento de dois, você pode achar essa tabela útil. Você pode ver o valor e seu complemento de dois bits na mesma linha.

Se você estiver interessado em trabalhar com os valores de um número diferente de bits, basta usar nossa calculadora de complemento de dois bits para economizar tempo e esforço!

Decimal

Binário

Decimal

Binário

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

O que é o complemento de dois?

O complemento de dois é uma forma de representar números negativos no sistema binário, já que nesse sistema não se utiliza o sinal de menos. Nesse caso, o sinal de menos é representado através do complemento de dois por um dígito, geralmente o primeiro.

  • Se o dígito inicial for 0, o número é positivo.
  • Se o dígito inicial for 1, o número será negativo.

Como calcular o complemento de dois de um número?

Para calcular o complemento de dois de um número:

  1. Se o número for negativo, subtraia-o da potência de 2 com o expoente correspondente ao número de bits da representação que você escolheu.
  2. Converta o número em binário.
  3. Se o número for negativo, adicione 1 à posição correta e preencha com 0.
  4. Se o número for positivo, coloque o resultado à esquerda com 0 até o comprimento desejado.

Quais são as desvantagens da notação de complemento de dois?

A notação de complemento de dois diminui a quantidade de binários positivos que podem ser representados para uma certa quantidade de bits. Isso significa que o uso de uma representação de 8 bits nos permite representar números de -27 = -128 a 27-1 = 127. Se não utilizássemos os números negativos, 8 bits nos permitiriam representar números de 0 a 28-1 = 255.

Qual é a representação de 8 bits do complemento de dois de -37?

A representação de 8 bits do complemento de dois de -37 é 110110112. Para encontrar esse resultado:

  1. Subtraia 37 de 27: 128 - 37 =91.
  2. Encontre a representação binária de 91:
    91 = 64 + 16 + 8 + 2 + 1
    = 1-26 + 0-25 + 1-24 + 1-23 + 0-22 + 1-21 + 1-20
    =1011011
  3. Coloque 1 na posição correta para marcar que começamos com um número 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…

Arctan

Find out the inverse tangent with this arctan calculator.

Circle skirt

Circle skirt calculator makes sewing circle skirts a breeze.

Parabola

The parabola calculator finds the vertex form, focus and directrix of every parabola.

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'!