¿Cuál es el equivalente binario de -2?

Como otros han dicho, es solo -10.

Pero las computadoras se vuelven raras, y prácticamente todas almacenan números negativos con un complemento de dos.

Digamos que es un sistema de 8 bits: esto es 2

00000010

Así es como obtienes negativo 2

Toma el número original:
00000010
voltea todos los 0s a 1s y 1s a 0s.
11111101
agregue 1:
11111110
(si se desborda más de 8 dígitos, lo descarta. Solo confíe en mí).

Esto tiene un par de ventajas increíbles sobre un sistema simple de complemento de 1s (por ejemplo, dónde usa el bit inicial como indicador positivo / negativo). En primer lugar, elimina múltiples representaciones de 0: si solo voltea el bit inicial, entonces 00000000 y 10000000 serían cero, y la ambigüedad es confusa. También es un desperdicio de una ranura numérica.

Con el complemento, en su lugar obtienes:

00000000
voltear todos los 0s -> 1s, 1s -> 0s
11111111
agregue 1, descartando el desbordamiento:
00000000

ta da!

La otra cosa súper increíble es que la resta de dos números complementados es solo una suma. Reloj:

Hagamos 8 – 4:
8 es 00001000
4 es 00000100

Consigue el complemento de dos de 4.
00000100
voltear todos los 0s -> 1s, 1s -> 0s:
11111011
agregar 1:
11111100

Ahora solo agrega 8 y -4:
00001000
+11111100
———
00000100 (descartando el que se desbordó más allá de 8 bits)

En nuestro sistema normal de números de base 10, también puede tomar el complemento de un número de 9 y lograr lo mismo. Para obtener el complemento de 9, restas cada dígito de 9 y le sumas 1. Luego puedes agregar. Reloj:

55 – 22
Toma el complemento de los 9:
99
-22

77
Añadir 1:
78

Ahora agregamos:
55
+78

33 (descartando el 1 que se desbordó)

Aseado, ¿eh? Las matemáticas funcionan porque el complemento de los 9 es este:

El complemento 9s de xxxxxx es
(999999 – xxxxxx) + 1
O, redactado de manera diferente:
1000000 – xxxxxx

Entonces, solo está restando su valor de un número mayor (1,000,000 en este caso) ya que las matemáticas son más fáciles y suman los resultados. Matemáticamente, tienes y + (10 – x), por lo que es lo mismo que restar x de y. Pero a veces terminas con un dígito de desbordamiento, así que simplemente lo descartas. son los 10 adicionales que agregaste.

Es algo divertido.

Lea más en wikipedia.

https://en.wikipedia.org/wiki/Tw…

Lo mantendré breve y dulce, e incluiré fuentes para lecturas adicionales.

Generalmente: [matemática] -10 [/ matemática], todavía podemos usar el símbolo negativo al escribir en otras bases.

En computadoras (suponiendo 1 byte):

11111110 (complemento de dos) [1] [2]

11111101 (el complemento de uno) [3] [4]

10000010 (con bit de signo en el frente que indica que el número es negativo)

Notas al pie

[1] Complemento de dos – Wikipedia

[2] ¿Qué es el “Complemento de 2”?

[3] Complemento de unos – Wikipedia

[4] Complemento de uno

En notación matemática [matemáticas] -2_ {10} = -10_2 [/ matemáticas]

En la mayoría de los sistemas informáticos, los números negativos se almacenan como valor de complemento de dos, por lo que en un sistema de 16 bits:

  • [math] 2_ {10} [/ math] se almacena como [math] 0000000000000010_2 [/ math]
  • – [math] 2_ {10} [/ math] se almacena como [math] 1111111111111110_2 [/ math]

Para convertir un número a dos cumplidos:

  1. escriba el valor en binario serán todos los ceros a la izquierda
  2. Haga un poco de NO en el número: todos los 0 bits van a 1, y todos los 1 bits van a 0.
  3. Agregue 1 a la cadena binaria resultante, asegurándose de mover el acarreo hasta el tope que necesite, pero ignore el acarreo si sale de la izquierda.
  4. Entonces tienes el valor de dos cumplidos

El cumplido de Two tiene las características agradables de que simplemente puede agregar los valores y obtener el resultado correcto, por ejemplo 8 -7 = 8 + (-7): (usando números de 8 bits) …

  • 8 es [matemática] 00001000_2 [/ matemática]
  • 7 es [matemática] 00000111_2 [/ matemática]
  • -7 es [matemática] 11111001_2 [/ matemática]
  • [matemáticas] 00001000_2 + [/ matemáticas]
  • [matemáticas] 11111001_2 = [/ matemáticas] [matemáticas] [/ matemáticas]
  • [matemáticas] 00000001_2 = 1_ {10} [/ matemáticas] como se esperaba

Actualizado: agregado el cumplido de dos

-10

Dicho esto, si está hablando de una computadora que está almacenando -2 como datos binarios, entonces sería 00000010 o 10000010.

Depende del lenguaje de programación / SO.

Con un entero de 8 bits, el primer bit almacena positivo / negativo y los otros 7 bits son el número.

También podría ser 11111110 si usan el cumplido de dos para codificar números negativos. Esto evita que un solo bit defectuoso convierta el número en positivo.

More Interesting

¿Cuál es el problema si clasificamos los intervalos según su tiempo de finalización como el problema de programación de intervalos? ¿Por qué es necesario ordenar según la hora de inicio en el problema de partición de intervalos?

¿Puedo obtener una breve descripción general del documento 'Generación precisa de hologramas utilizando el método basado en capas y el algoritmo de transformación de Fourier iterativo'?

Cómo implementar un algoritmo de equilibrio de carga personalizado aparte del algoritmo Round Robin predeterminado en mi Amazon Elastic Load Balancer usando Java SDK para AWS

¿Qué canal / tutorial en YouTube es mejor para aprender algoritmos o estructuras de datos?

¿Es el tiempo lineal?

¿Cuál crees que es el algoritmo de optimización más inteligente?

Cómo usar el código VHDL para generar el seno de un ángulo dado usando el algoritmo CORDIC

¿Cuáles son algunos lenguajes de programación que me permiten visualizar algoritmos?

¿Es realmente necesario que un programador aprenda estructuras de datos y algoritmos?

¿Cómo funciona el algoritmo de Clasificación de Señal Múltiple (MUSIC)?

¿Qué tan valioso sería ser ubicado para aprender la estructura de datos usando C?

¿Cuál es la mejor manera de explicar este método recursivo en Java?

Cómo saber cuándo usar .add o .put para agregar a una matriz en Java

¿Cuáles son algunas de las preguntas famosas al calcular los caminos más cortos (gráficos) usando Dijkstra's, DAG y Bellman-Ford?

¿Cómo los algoritmos de programación dinámica son mejores que otros algoritmos?