Número binario

format_list_bulleted Contenido keyboard_arrow_down
ImprimirCitar
Número expresado en el sistema base-2 numeral

Un número binario es un número expresado en el sistema numérico de base 2 o sistema numérico binario, un método de expresión matemática que utiliza solo dos símbolos: típicamente "0" (cero) y "1" (uno).

El sistema numérico de base 2 es una notación posicional con una base de 2. Cada dígito se denomina bit o dígito binario. Debido a su sencilla implementación en circuitos electrónicos digitales utilizando puertas lógicas, el sistema binario es utilizado por casi todas las computadoras modernas y dispositivos basados en computadoras, como un sistema de uso preferido, sobre varias otras técnicas humanas de comunicación, debido a la simplicidad del sistema. lenguaje y la inmunidad al ruido en la implementación física.

Los números negativos se representan comúnmente en binario usando el complemento a dos.

Historia

El sistema numérico binario moderno fue estudiado en Europa en los siglos XVI y XVII por Thomas Harriot, Juan Caramuel y Lobkowitz y Gottfried Leibniz. Sin embargo, los sistemas relacionados con los números binarios han aparecido antes en múltiples culturas, incluido el antiguo Egipto, China e India. Leibniz se inspiró específicamente en el I Ching chino.

Egipto

Valores rítmicos pensados para haber sido representados por partes del Ojo de Horus

Los escribas del antiguo Egipto usaban dos sistemas diferentes para sus fracciones, las fracciones egipcias (no relacionadas con el sistema numérico binario) y las fracciones del Ojo de Horus (llamadas así porque muchos historiadores de las matemáticas creen que los símbolos usados para este sistema podrían ser dispuesto para formar el ojo de Horus, aunque esto ha sido discutido). Las fracciones del ojo de Horus son un sistema de numeración binaria para cantidades fraccionarias de granos, líquidos u otras medidas, en el que una fracción de hekat se expresa como la suma de las fracciones binarias 1/2, 1/4, 1/8, 1 /16, 1/32 y 1/64. Las primeras formas de este sistema se pueden encontrar en documentos de la Quinta Dinastía de Egipto, aproximadamente en el 2400 a. C., y su forma jeroglífica completamente desarrollada data de la Decimonovena Dinastía de Egipto, aproximadamente en el 1200 a.

El método utilizado para la multiplicación del antiguo Egipto también está estrechamente relacionado con los números binarios. En este método, la multiplicación de un número por un segundo se realiza mediante una secuencia de pasos en los que un valor (inicialmente el primero de los dos números) se duplica o se le vuelve a agregar el primer número; el orden en que se deben realizar estos pasos viene dado por la representación binaria del segundo número. Este método se puede ver en uso, por ejemplo, en el papiro matemático Rhind, que data de alrededor de 1650 a.

China

Daoist Bagua

El I Ching data del siglo IX aC en China. La notación binaria en el I Ching se utiliza para interpretar su técnica de adivinación cuaternaria.

Se basa en la dualidad taoísta del yin y el yang. Ocho trigramas (Bagua) y un conjunto de 64 hexagramas ("sesenta y cuatro" gua), análogos a los números binarios de tres y seis bits, estaban en uso al menos desde la dinastía Zhou de China antigua.

El erudito de la dinastía Song Shao Yong (1011–1077) reorganizó los hexagramas en un formato que se parece a los números binarios modernos, aunque no pretendía que su disposición se usara matemáticamente. Ver el bit menos significativo encima de hexagramas individuales en el cuadrado de Shao Yong y leyendo a lo largo de las filas, ya sea de abajo a la derecha a arriba a la izquierda con líneas continuas como 0 y líneas discontinuas como 1 o desde arriba a la izquierda hasta abajo a la derecha con líneas continuas como 1 y líneas discontinuas como 0, los hexagramas se pueden interpretar como una secuencia de 0 a 63.

India

El erudito indio Pingala (hacia el siglo II a. C.) desarrolló un sistema binario para describir la prosodia. Usó números binarios en forma de sílabas cortas y largas (estas últimas de igual longitud que dos sílabas cortas), haciéndolo similar al código Morse. Eran conocidas como sílabas laghu (ligeras) y guru (pesadas).

El clásico hindú de Pingala titulado Chandaḥśāstra (8.23) describe la formación de una matriz para dar un valor único a cada metro. "Chandaḥśāstra" se traduce literalmente como ciencia de los metros en sánscrito. Las representaciones binarias en el sistema de Pingala aumentan hacia la derecha y no hacia la izquierda como en los números binarios de la notación posicional moderna. En el sistema de Pingala, los números parten del número uno y no del cero. Cuatro sílabas cortas "0000" es el primer patrón y corresponde al valor uno. El valor numérico se obtiene sumando uno a la suma de los valores posicionales.

Otras culturas

Los residentes de la isla de Mangareva en la Polinesia Francesa usaban un sistema híbrido binario-decimal antes de 1450. Los tambores de hendidura con tonos binarios se usan para codificar mensajes en África y Asia. Los conjuntos de combinaciones binarias similares al I Ching también se han utilizado en los sistemas de adivinación africanos tradicionales como Ifá, así como en la geomancia occidental medieval. La mayoría de los idiomas indígenas australianos utilizan un sistema de base 2.

Predecesores occidentales de Leibniz

A finales del siglo XIII, Ramon Llull tenía la ambición de dar cuenta de toda la sabiduría en todas las ramas del conocimiento humano de la época. Para ello desarrolló un método general o 'Ars generalis' basado en combinaciones binarias de una serie de principios o categorías básicos simples, por lo que ha sido considerado un antecesor de la informática y la inteligencia artificial.

En 1605, Francis Bacon discutió un sistema mediante el cual las letras del alfabeto podían reducirse a secuencias de dígitos binarios, que luego podían codificarse como variaciones apenas visibles en la fuente en cualquier texto aleatorio. Es importante destacar que para la teoría general de la codificación binaria, agregó que este método podría usarse con cualquier objeto: 'siempre que esos objetos sean capaces de una diferencia doble solamente; como por Campanas, por Trompetas, por Luces y Antorchas, por el repique de Mosquetes, y cualesquiera instrumentos de la misma naturaleza". (Consulte el cifrado de Bacon).

John Napier en 1617 describió un sistema que llamó aritmética de ubicación para hacer cálculos binarios usando una representación no posicional por letras. Thomas Harriot investigó varios sistemas de numeración posicional, incluido el binario, pero no publicó sus resultados; fueron encontrados más tarde entre sus papeles. Posiblemente la primera publicación del sistema en Europa fue de Juan Caramuel y Lobkowitz, en 1700.

Leibniz y el I Ching

Gottfried Leibniz

Leibniz estudió numeración binaria en 1679; su trabajo aparece en su artículo Explication de l'Arithmétique Binaire (publicado en 1703). El título completo del artículo de Leibniz se traduce al inglés como la "Explicación de la aritmética binaria, que usa solo los caracteres 1 y 0, con algunos comentarios sobre su utilidad y sobre la luz que arroja. sobre las antiguas figuras chinas de Fu Xi". El sistema de Leibniz utiliza el 0 y el 1, como el moderno sistema numérico binario. Un ejemplo del sistema numérico binario de Leibniz es el siguiente:

0 0 0 1 valor numérico 20
0 0 1 0 valor numérico 21
0 0 0 0 valor numérico 22
1 0 0 0 valor numérico 23

Leibniz interpretó los hexagramas del I Ching como evidencia del cálculo binario. Como sinófilo, Leibniz conocía el I Ching, notó con fascinación cómo sus hexagramas corresponden a los números binarios del 0 al 111111, y concluyó que este mapeo era evidencia de importantes logros chinos en el tipo de las matemáticas filosóficas que admiraba. La relación era una idea central de su concepto universal de lenguaje o charactera universalis, una idea popular que sería seguida de cerca por sus sucesores, como Gottlob Frege y George Boole, en la formación de la lógica simbólica moderna. Leibniz conoció por primera vez el I Ching a través de su contacto con el jesuita francés Joachim Bouvet, quien visitó China en 1685 como misionero. Leibniz vio los hexagramas del I Ching como una afirmación de la universalidad de sus propias creencias religiosas como cristiano. Los números binarios fueron fundamentales para la teología de Leibniz. Creía que los números binarios simbolizaban la idea cristiana de creatio ex nihilo o creación de la nada.

[Un concepto que] no es fácil de impartir a los paganos, es la creación ex nihilo a través del poder todopoderoso de Dios. Ahora se puede decir que nada en el mundo puede presentar mejor y demostrar este poder que el origen de los números, como se presenta aquí a través de la presentación simple y no adorada de Uno y Cero o Nada.

Carta de Leibniz al Duque de Brunswick adjunta con la I Ching hexagramas

Desarrollos posteriores

George Boole

En 1854, el matemático británico George Boole publicó un artículo histórico que detallaba un sistema algebraico de lógica que se conocería como álgebra booleana. Su cálculo lógico se convertiría en un instrumento en el diseño de circuitos electrónicos digitales.

En 1937, Claude Shannon produjo su tesis de maestría en el MIT que implementó el álgebra booleana y la aritmética binaria usando relés e interruptores electrónicos por primera vez en la historia. Titulada A Symbolic Analysis of Relay and Switching Circuits, la tesis de Shannon fundamentó esencialmente el diseño práctico de circuitos digitales.

En noviembre de 1937, George Stibitz, que entonces trabajaba en Bell Labs, completó una computadora basada en relés que denominó "Model K" (por "Kitchen", donde lo había ensamblado), que se calculó mediante la suma binaria. Bell Labs autorizó un programa de investigación completo a finales de 1938 con Stibitz a la cabeza. Su computadora de números complejos, completada el 8 de enero de 1940, pudo calcular números complejos. En una demostración en la conferencia de la Sociedad Matemática Estadounidense en Dartmouth College el 11 de septiembre de 1940, Stibitz pudo enviar comandos remotos de la Calculadora de Números Complejos a través de líneas telefónicas mediante un teletipo. Fue la primera máquina informática que se usó de forma remota a través de una línea telefónica. Algunos participantes de la conferencia que presenciaron la manifestación fueron John von Neumann, John Mauchly y Norbert Wiener, quien escribió sobre ello en sus memorias.

La computadora Z1, que fue diseñada y construida por Konrad Zuse entre 1935 y 1938, usaba lógica booleana y números binarios de punto flotante.

Representación

Cualquier número puede ser representado por una secuencia de bits (dígitos binarios), que a su vez pueden ser representados por cualquier mecanismo capaz de estar en dos estados mutuamente excluyentes. Cualquiera de las siguientes filas de símbolos se puede interpretar como el valor numérico binario de 667:

1010011011
Silencio,Silencio,,SilencioSilencio,SilencioSilencio
Sí.nSí.nnSí.Sí.nSí.Sí.
Un reloj binario puede usar LEDs para expresar valores binarios. En este reloj, cada columna de LEDs muestra un numeral decimal de código binario del tiempo tradicional sexagesimal.

El valor numérico representado en cada caso depende del valor asignado a cada símbolo. En los primeros días de la informática, se usaban interruptores, agujeros perforados y cintas de papel perforadas para representar valores binarios. En una computadora moderna, los valores numéricos pueden estar representados por dos voltajes diferentes; en un disco magnético, se pueden usar polaridades magnéticas. Un "positivo", "sí" o "encendido" estado no es necesariamente equivalente al valor numérico de uno; depende de la arquitectura en uso.

De acuerdo con la representación habitual de números usando números arábigos, los números binarios se escriben comúnmente usando los símbolos 0 y 1. Cuando se escriben, los números binarios suelen tener subíndices, prefijos o sufijos para indicar su base o base. Las siguientes notaciones son equivalentes:

  • 100101 binario (explicación de formato)
  • 100101b (un sufijo indicando formato binario; también conocido como convención de Intel)
  • 100101B (un sufijo indicando formato binario)
  • bin 100101 (un prefijo que indica el formato binario)
  • 1001012 (un subscripto que indica la notación básica-2 (binaria)))
  • %100101 (un prefijo que indica el formato binario; también conocido como convención de Motorola)
  • 0b100101 (un prefijo que indica formato binario, común en lenguajes de programación)
  • 6b100101 (un prefijo que indica el número de bits en formato binario, común en lenguajes de programación)
  • #b100101 (un prefijo que indica el formato binario, común en los idiomas de programación de Lisp)

Cuando se hablan, los números binarios generalmente se leen dígito por dígito, para distinguirlos de los números decimales. Por ejemplo, el número binario 100 se pronuncia uno cero cero, en lugar de cien, para hacer explícita su naturaleza binaria y con fines de corrección. Dado que el número binario 100 representa el valor cuatro, sería confuso referirse al número como cien (una palabra que representa un valor o cantidad completamente diferente). Alternativamente, el número binario 100 se puede leer como "cuatro" (el valor correcto), pero esto no hace explícita su naturaleza binaria.

Contar en binario

Decimal
Número
binario
Número
0 0
1 1
2 10
3 11
4 100
5 101
6 110
7 111
8 1000
9 1001
10 Graben 19, 1010
11 1011
12 1100
13 1101
14 1110
15 1111

Contar en binario es similar a contar en cualquier otro sistema numérico. Comenzando con un solo dígito, el conteo avanza a través de cada símbolo, en orden creciente. Antes de examinar el conteo binario, es útil discutir brevemente el sistema de conteo decimal más familiar como marco de referencia.

Conteo decimal

El conteo decimal usa los diez símbolos 0 a 9. El conteo comienza con la sustitución incremental del dígito menos significativo (el dígito más a la derecha), que a menudo se denomina primer dígito. Cuando se agotan los símbolos disponibles para esta posición, el dígito menos significativo se restablece a 0 y el siguiente dígito de mayor importancia (una posición a la izquierda) se incrementa (desbordamiento), y se reanuda la sustitución incremental de los dígitos de orden inferior. Este método de reinicio y desbordamiento se repite para cada dígito significativo. El conteo avanza de la siguiente manera:

000, 001, 002,... 007, 008, 009, (el dígito más derecho se reasienta a cero, y el dígito a su izquierda se incrementa)
010, 011, 012,...
...
090, 091, 092,... 097, 098, 099, (la mayoría de dos dígitos son reasentados a ceros, y el siguiente dígito es aumentado)
100, 101, 102,...

Conteo binario

Este contador muestra cómo contar en binario de números cero a treinta y uno.
Un truco de partido para adivinar un número de las tarjetas que se imprimen en utiliza los bits de la representación binaria del número. En el archivo SVG, haga clic en una tarjeta para cambiarla

El conteo binario sigue exactamente el mismo procedimiento, y nuevamente la sustitución incremental comienza con el dígito menos significativo, o bit (el más a la derecha, también llamado primer bit), excepto que solo están disponibles los dos símbolos 0 y 1. Por lo tanto, después de que un bit llega a 1 en binario, un incremento lo restablece a 0 pero también provoca un incremento del siguiente bit a la izquierda:

0000,
0001, (la mitad más derecha comienza y el siguiente dígito es aumentado)
0010, 0011, (casi dos partes comienzan de nuevo, y el siguiente bit se aumenta)
0100, 0101, 0110, 0111, (casi tres bits comienzan de nuevo, y el siguiente bit se aumenta)
1000, 1001, 1010, 1011, 1100, 1101, 1110, 1111...

En el sistema binario, cada bit representa una potencia creciente de 2, con el bit más a la derecha representando 20, el siguiente representando 21, luego 2 2, y así sucesivamente. El valor de un número binario es la suma de las potencias de 2 representadas por cada "1" poco. Por ejemplo, el número binario 100101 se convierte a formato decimal de la siguiente manera:

1001012 [1) × 25 + [0) × 24 + [0) × 23 + [1) × 22 + [0) × 21 + [1) × 20 ]
1001012 = 1 x 32) + [ 0 × 16 ] + [ 0 × 8 ] + [ 1 × 4 ] + [ 0 × 2 ] + [ 1 × 1
1001012 = 3710

Fracciones

Las fracciones en aritmética binaria terminan solo si 2 es el único factor primo en el denominador. Como resultado, 1/10 no tiene una representación binaria finita (10 tiene factores primos 2 y 5). Esto hace que 10 × 0,1 no sea exactamente igual a 1 en la aritmética de punto flotante. Como ejemplo, para interpretar la expresión binaria para 1/3 =.010101..., esto significa: 1/3 = 0 × 2−1 + 1 × 2−2 + 0 × 2−3 + 1 × 2−4 +... = 0.3125 +... No se puede encontrar un valor exacto con una suma de un número finito de potencias inversas de dos, los ceros y unos en la representación binaria de 1/3 se alternan para siempre.

Fracción Decimal binario aproximación fraccional
1/1 1o0.999... 1o0.111... 1/2 + 1/4 + 1/8...
1/2 0.5o0.4999... 0.1o0.0111... 1/4 + 1/8 + 1/16...
1/3 0.333... 0.010101... 1/4 + 1/16 + 1/64...
1/4 0,25o0.24999... 0,01o0.00111... 1/8 + 1/16 + 1/32...
1/5 0.2o0.1999... 0.00110011... 1/8 + 1/16 + 1/128...
1/6 0.1666... 0.0010101... 1/8 + 1/32 + 1/128...
1/7 0.142857142857... 0.001001... 1/8 + 1/64 + 1/512...
1/8 0.125o0.124999... 0,001o0.000111... 1/16 + 1/32 + 1/64...
1/9 0.111... 0.000111000111... 1/16 + 1/32 + 1/64...
1/10 0.1o0.0999... 0.000110011... 1/16 + 1/32 + 1/256...
1/11 0,090909... 0,00010111010001011101... 1/16 + 1/64 + 1/128...
1/12 0.08333... 0.00010101... 1/16 + 1/64 + 1/256...
1/13 0.076923076923... 0,000100111000111011... 1/16 + 1/128 + 1/256...
1/14 0.0714285714285... 0.0001001001... 1/16 + 1/128 + 1/1024...
1/15 0.0666... 0.00010001... 1/16 + 1/256...
1/16 0,0625o0.0624999... 0,0001o0.0000111... 1/32 + 1/64 + 1/128...

Aritmética binaria

La aritmética en binario es muy parecida a la aritmética en otros sistemas numéricos. La suma, la resta, la multiplicación y la división se pueden realizar en números binarios.

Adición

El diagrama de circuito para una escalerilla media binaria, que agrega dos bits juntos, produciendo suma y lleva bits

La operación aritmética más simple en binario es la suma. Sumar dos números binarios de un solo dígito es relativamente simple, utilizando una forma de transporte:

0 + 0 → 0
0 + 1 → 1
1 + 0 → 1
1 + 1 → 0, llevar 1 (desde 1 + 1 = 2 = 0 + (1 × 21)

Agregar dos "1" digits produce un dígito "0", mientras que 1 deberá agregarse a la siguiente columna. Esto es similar a lo que sucede en decimal cuando se suman ciertos números de un solo dígito; si el resultado es igual o superior al valor de la raíz (10), se incrementa el dígito de la izquierda:

5 + 5 → 0, port 1 (desde 5 + 5 = 10 = 0 + (1 × 101)
7 + 9 → 6, port 1 (desde 7 + 9 = 16 = 6 + (1 × 101)

Esto se conoce como llevar. Cuando el resultado de una suma excede el valor de un dígito, el procedimiento es "llevar" la cantidad en exceso dividida por la raíz (es decir, 10/10) a la izquierda, añadiéndola al siguiente valor posicional. Esto es correcto ya que la siguiente posición tiene un peso mayor por un factor igual a la raíz. Llevar funciona de la misma manera en binario:

 1 1 1 1 1 (dígitos cargados)0 1 1 0 1
+ 1 0 1 1 1
-----------
1 0 0 0 0 = 36

En este ejemplo, se suman dos números: 011012 (1310) y 101112 (2310 ). La fila superior muestra los bits de acarreo utilizados. Comenzando en la columna más a la derecha, 1 + 1 = 102. El 1 se lleva a la izquierda y el 0 se escribe en la parte inferior de la columna más a la derecha. Se agrega la segunda columna desde la derecha: 1 + 0 + 1 = 102 nuevamente; el 1 se lleva, y el 0 se escribe en la parte inferior. La tercera columna: 1 + 1 + 1 = 112. Esta vez, se lleva un 1 y se escribe un 1 en la fila inferior. Procediendo así da la respuesta final 1001002 (3610).

Cuando las computadoras deben sumar dos números, la regla que: x x o y = (x + y) módulo 2 para cualquiera de los dos bits x e y también permite un cálculo muy rápido.

Método de transporte prolongado

Una simplificación para muchos problemas de suma binaria es el "método de acarreo largo" o "Método Brookhouse de suma binaria". Este método es particularmente cuando uno de los números contiene una gran cantidad de unos. Se basa en la premisa simple de que, en el sistema binario, cuando se le da una serie de dígitos compuestos enteramente por n unos (donde n es cualquier número entero), agregar 1 dará como resultado el número 1 seguido de una cadena de n ceros. Ese concepto sigue, lógicamente, al igual que en el sistema decimal, donde agregar 1 a una cadena de n 9s dará como resultado el número 1 seguido de una cadena de n 0s:

 Binary Decimal
1 1 1 1
+ 1 + 1
-———————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————
1 0 0 0 0 0 0 0 0 0 0 0 0

Tales cadenas largas son bastante comunes en el sistema binario. A partir de eso, se encuentra que se pueden agregar números binarios grandes usando dos pasos simples, sin operaciones de acarreo excesivas. En el siguiente ejemplo, se suman dos números: 1 1 1 0 1 1 1 1 1 02 (95810) y 1 0 1 0 1 1 0 0 1 12 (69110), utilizando el método de acarreo tradicional a la izquierda y el método de acarreo largo a la derecha:

Método tradicional de Carry largo
vs.
 1 1 1 1 1 1 1 (dígitos cargados) 1 ← 1 ← llevar el 1 hasta que sea un dígito más allá de la "estring" abajo
1 1 1 1 1 1 1 1 1 0 1 1 1 1 0 1 1 1 1 1 1 0 cruzando la cuerda,
+ 1 0 1 0 1 0 0 1 + 1 0 1 0 1 0 0 1 1 y cruzar el dígito que se añadió a él
-—————————————————————————————————————————————————————————————————————————————————————
1 0 1 1 1 0 0 0 0 1 1 0 0 1 0 1 1 1 0 0 0 1 0 0 1 0 0 0 1

La fila superior muestra los bits de acarreo utilizados. En lugar del acarreo estándar de una columna a la siguiente, el "1" con un "1" en el valor posicional correspondiente debajo se puede agregar y un "1" puede llevarse a un dígito más allá del final de la serie. El "usado" los números deben ser tachados, ya que ya están agregados. Otras cadenas largas también pueden cancelarse utilizando la misma técnica. Luego, simplemente sume los dígitos restantes normalmente. Procediendo de esta manera da la respuesta final de 1 1 0 0 1 1 1 0 0 0 12 (164910). En nuestro ejemplo simple que utiliza números pequeños, el método de acarreo tradicional requería ocho operaciones de acarreo, sin embargo, el método de acarreo largo requería solo dos, lo que representa una reducción sustancial del esfuerzo.

Tabla de sumar

0 1
0 0 1
1 1 10

La tabla de adición binaria es similar a, pero no igual que, la tabla de verdad de la operación de disyunción lógica Alternativa Alternativa {displaystyle lor }. La diferencia es que 1Alternativa Alternativa 1=1{displaystyle 1lor 1=1}, mientras 1+1=10{displaystyle 1+1=10}.

Sustracción

La resta funciona de la misma manera:

0 - 0 → 0
0 - 1 → 1, prestado 1
1 − 0 → 1
1 − 1 → 0

Restar un "1" dígito de un "0" digit produce el dígito "1", mientras que 1 tendrá que restarse de la siguiente columna. Esto se conoce como préstamo. El principio es el mismo que para llevar. Cuando el resultado de una resta es menor que 0, el menor valor posible de un dígito, el procedimiento es "tomar prestado" el déficit dividido por la raíz (es decir, 10/10) de la izquierda, restándolo del siguiente valor posicional.

 * * * * (las columnas de estrellas se toman prestado)
1 1 0 1 1 1 0
− 1 0 1 1 1
.
1 0 1 1 1 1 1
 * (Las columnas estrelladas son prestadas de)
1 1 1 1 1 1 1
- 1 0 1 1
.
= 0 1 0 1 0 0 0

Restar un número positivo es equivalente a sumar un número negativo de igual valor absoluto. Las computadoras usan representaciones de números con signo para manejar números negativos, más comúnmente la notación de complemento a dos. Tales representaciones eliminan la necesidad de un "restar" operación. El uso de la resta de notación de complemento a dos se puede resumir mediante la siguiente fórmula:

A − B = A + no B + 1

Multiplicación

La multiplicación en binario es similar a su equivalente decimal. Dos números A y B se pueden multiplicar por productos parciales: por cada dígito en B, el producto de ese dígito en A se calcula y escribe en una nueva línea, desplazada hacia la izquierda para que su dígito más a la derecha se alinee con el dígito en B que se utilizó. La suma de todos estos productos parciales da el resultado final.

Dado que solo hay dos dígitos en binario, solo hay dos posibles resultados de cada multiplicación parcial:

  • Si el dígito en B es 0, el producto parcial es también 0
  • Si el dígito en B es 1, el producto parcial es igual a A

Por ejemplo, los números binarios 1011 y 1010 se multiplican de la siguiente manera:

 1 0 1 1 (0 1 1)A)
× 1 0 1 0B)
-------
0 0 0 0 ← Corresponds to the rightmost 'zero' in B+ 1 0 1 1 ← Corresponds to the next 'one' in B+ 0 0 0 0
+ 1 0 1 1
---------------
1 0 1 1 1 0

Los números binarios también se pueden multiplicar con bits después de un punto binario:

 1 0 1, 1 0 1 A (5.625 en decimal)
× 1 1 0. 0 1 B (6.25 en decimal)
---
1. 0 1 1 0 1 ← Corresponde a un 'uno' en B+ 0 0 0 0 0 0 ← Corresponde a un 'cero' en B+ 0 0 0 0 0 0 0
+ 1 0 1 1, 0 1
+ 1 0 1 0. 1
---------
= 1 0 0 1 1, 0 0 1 0 1 (35.15625 en decimal)

Véase también el algoritmo de multiplicación de Booth.

Tabla de multiplicar

0 1
0 0 0
1 0 1

La tabla de multiplicación binaria es la misma que la tabla de verdad de la operación de conjunción lógica ∧ ∧ {displaystyle land }.

División

La división larga en binario es nuevamente similar a su equivalente decimal.

En el siguiente ejemplo, el divisor es 1012, o 5 en decimal, mientras que el dividendo es 110112, o 27 en decimal. El procedimiento es el mismo que el de la división larga decimal; aquí, el divisor 1012 entra en los primeros tres dígitos 1102 del dividendo una vez, por lo que un "1" está escrito en la línea superior. Este resultado se multiplica por el divisor y se resta de los primeros tres dígitos del dividendo; se incluye el siguiente dígito (un "1") para obtener una nueva secuencia de tres dígitos:

 1
___________
1 0 1) 1 1 0 1 1
− 1 0 1
---
0 0 1

Luego se repite el procedimiento con la nueva secuencia, continuando hasta que se agoten los dígitos del dividendo:

 1 0 1
___________
1 0 1) 1 1 0 1 1
− 1 0 1
---
1 1 1 1
− 1 0 1
---
0 1 0

Así, el cociente de 110112 dividido por 1012 es 1012, como se muestra en la línea superior, mientras que el resto, que se muestra en la línea inferior, es 102. En decimal, esto corresponde al hecho de que 27 dividido por 5 es 5, con un resto de 2.

Además de la división larga, también se puede diseñar el procedimiento para permitir restar en exceso del resto parcial en cada iteración, lo que conduce a métodos alternativos que son menos sistemáticos, pero como resultado más flexibles.

Raíz cuadrada

El proceso de sacar una raíz cuadrada binaria dígito por dígito es el mismo que para una raíz cuadrada decimal y se explica aquí. Un ejemplo es:

 1 0 1
-------
√ 1010001
1
-------
101 01
0
---
1001 100
0
---
10001 10001
10001
---
0

Operaciones bit a bit

Aunque no está directamente relacionado con la interpretación numérica de los símbolos binarios, las secuencias de bits se pueden manipular mediante operadores lógicos booleanos. Cuando una cadena de símbolos binarios se manipula de esta manera, se denomina operación bit a bit; los operadores lógicos AND, OR y XOR pueden realizarse en los bits correspondientes en dos números binarios proporcionados como entrada. La operación lógica NOT se puede realizar en bits individuales en un solo número binario proporcionado como entrada. A veces, tales operaciones se pueden usar como atajos aritméticos y también pueden tener otros beneficios computacionales. Por ejemplo, un desplazamiento aritmético a la izquierda de un número binario es el equivalente a la multiplicación por una potencia (integral positiva) de 2.

Conversión hacia y desde otros sistemas numéricos

De decimal a binario

Conversión de (357)10 los resultados de la notación binaria en (101100101)

Para convertir un número entero en base 10 a su equivalente en base 2 (binario), el número se divide por dos. El resto es el bit menos significativo. El cociente se vuelve a dividir por dos; su resto se convierte en el siguiente bit menos significativo. Este proceso se repite hasta que se alcanza un cociente de uno. La secuencia de residuos (incluido el cociente final de uno) forma el valor binario, ya que cada residuo debe ser cero o uno al dividir por dos. Por ejemplo, (357)10 se expresa como (101100101)2.

De binario a decimal

La conversión de base 2 a base 10 simplemente invierte el algoritmo anterior. Los bits del número binario se usan uno por uno, comenzando con el bit más significativo (más a la izquierda). Comenzando con el valor 0, el valor anterior se duplica y luego se agrega el siguiente bit para producir el siguiente valor. Esto se puede organizar en una tabla de varias columnas. Por ejemplo, para convertir 100101011012 a decimal:

Valor anterior × 2 + Siguiente bit = Valor siguiente
0× 2 +1= 1
1× 2 +0= 2
2× 2 +0= 4
4× 2 +1= 9
9× 2 +0= 18
18× 2 +1= 37
37× 2 +0= 74
74× 2 +1= 149
149× 2 +1= 299
299× 2 +0= 598
598× 2 +1= 1197

El resultado es 119710. El primer valor anterior de 0 es simplemente un valor decimal inicial. Este método es una aplicación del esquema de Horner.

binario 10010101101
Decimal 1×210 +0×29 +0×28 +1×27 +0×26 +1×25 +0×24 +1×23 +1×22 +0×21 +1×20 =1197

Las partes fraccionarias de un número se convierten con métodos similares. Se basan nuevamente en la equivalencia de cambiar con duplicar o reducir a la mitad.

En un número binario fraccional como 0.110101101012, el primer dígito es 12{textstyle {frac {1}{2}}}, el segundo ()12)2=14{textstyle ({frac {1}{2}}={2}={frac {1}{4}}, etc. Así que si hay un 1 en el primer lugar después del decimal, entonces el número es al menos 12{textstyle {frac {1}{2}}}, y viceversa. Doble ese número al menos 1. Esto sugiere el algoritmo: Repetidamente duplicar el número para ser convertido, registrar si el resultado es al menos 1, y luego tirar la parte entero.

Por ejemplo, ()13)10{textstyle ({frac {1}{3}})_{10}, en binario, es:

ConvertirResultado
13{textstyle {frac {1}{3}}0.
<math alttext="{textstyle {frac {1}{3}}times 2={frac {2}{3}}13× × 2=23.1{textstyle {frac {1}{3}}times 2={frac {2}{3} {1}<img alt="{textstyle {frac {1}{3}}times 2={frac {2}{3}}0,0
23× × 2=113≥ ≥ 1{textstyle {frac {2}{3}}times 2=1{frac {1}{3}gq} 1}0,01
<math alttext="{textstyle {frac {1}{3}}times 2={frac {2}{3}}13× × 2=23.1{textstyle {frac {1}{3}}times 2={frac {2}{3} {1}<img alt="{textstyle {frac {1}{3}}times 2={frac {2}{3}}0,010
23× × 2=113≥ ≥ 1{textstyle {frac {2}{3}}times 2=1{frac {1}{3}gq} 1}0.0101

Por lo tanto, la fracción decimal periódica 0.3... es equivalente a la fracción binaria periódica 0.01....

O por ejemplo, 0.110, en binario, es:

ConvertirResultado
0.10.
0.1 × 2 = 0.2 10,0
0,2 × 2 0,4 10.00
0.4 × 2 = 0,8 10,000
0.8 × 2 = 1.6 ≥ 10,0001
0,6 × 2 1.2 ≥ 10,00011
0,2 × 2 0,4 10,000110
0.4 × 2 = 0,8 10,0001100
0.8 × 2 = 1.6 ≥ 10,00011001
0,6 × 2 1.2 ≥ 10,000110011
0,2 × 2 0,4 10,0001100110

Esta también es una fracción binaria repetitiva 0.00011.... Puede resultar sorprendente que las fracciones decimales terminales puedan tener expansiones repetitivas en binario. Es por esta razón que muchos se sorprenden al descubrir que 0.1 +... + 0.1, (10 sumas) difiere de 1 en aritmética de coma flotante. De hecho, las únicas fracciones binarias con expansiones terminales tienen la forma de un número entero dividido por una potencia de 2, que 1/10 no lo es.

La conversión final es de fracciones binarias a decimales. La única dificultad surge con la repetición de fracciones, pero de lo contrario, el método es cambiar la fracción a un número entero, convertirla como se indicó anteriormente y luego dividirla por la potencia de dos apropiada en la base decimal. Por ejemplo:

x=1100. 101110̄ ̄ ...... x× × 26=1100101110.01110̄ ̄ ...... x× × 2=11001.01110̄ ̄ ...... x× × ()26− − 2)=1100010101x=1100010101/111110x=()789/62)10{displaystyle {begin{aligned}x limit= limit1100 implica.1{overline {01110}ldots \xtimes 2^{6} limit= limit1100101110.{overline {01110}ldots \xtimes 2 = = 0,001 0,000. (2^{6}-2) Alguien tiene derecho a recibir a 1100010101x reducirse a la luz de la muerte de los niños que se han perdido.

Otra forma de convertir de binario a decimal, a menudo más rápido para una persona familiarizada con hexadecimal, es hacerlo indirectamente—primera conversión (x{displaystyle x} en binario) enx{displaystyle x} en hexadecimal) y luego conversión (x{displaystyle x} en hexadecimalx{displaystyle x} en decimal).

Para números muy grandes, estos métodos simples son ineficientes porque realizan una gran cantidad de multiplicaciones o divisiones donde un operando es muy grande. Un algoritmo simple de divide y vencerás es más efectivo asintóticamente: dado un número binario, se divide por 10k, donde se elige k de modo que el cociente sea aproximadamente igual al resto; luego cada una de estas piezas se convierte a decimal y las dos se concatenan. Dado un número decimal, se puede dividir en dos partes de aproximadamente el mismo tamaño, cada una de las cuales se convierte a binario, con lo cual la primera parte convertida se multiplica por 10k y se suma a la segunda parte convertida, donde k es el número de dígitos decimales en la segunda parte menos significativa antes de la conversión.

Hexadecimal

0Hex=0dec=0oct0000
1Hex=1dec=1oct0001
2Hex=2dec=2oct0010
3Hex=3dec=3oct0011
4Hex=4dec=4oct0100
5Hex=5dec=5oct0101
6Hex=6dec=6oct0110
7Hex=7dec=7oct0111
8Hex=8dec=10oct1000
9Hex=9dec=11oct1001
AHex=10dec=12oct1010
BHex=11dec=13oct1011
CHex=12dec=14oct1100
DHex=13dec=15oct1101
EHex=14dec=16oct1110
FHex=15dec=17oct1111

El binario se puede convertir a hexadecimal y de hexadecimal más fácilmente. Esto se debe a que la base del sistema hexadecimal (16) es una potencia de la base del sistema binario (2). Más específicamente, 16 = 24, por lo que se necesitan cuatro dígitos binarios para representar un dígito hexadecimal, como se muestra en la tabla adyacente.

Para convertir un número hexadecimal en su equivalente binario, simplemente sustituya los dígitos binarios correspondientes:

3A16 = 0011, 10102
E716 = 1110 01112

Para convertir un número binario en su equivalente hexadecimal, divídalo en grupos de cuatro bits. Si el número de bits no es un múltiplo de cuatro, simplemente inserte 0 bits adicionales a la izquierda (llamado relleno). Por ejemplo:

10100102 = 0101 0010 agrupados con relleno = 5216
110111012 = 1101 1101 agrupados = DD16

Para convertir un número hexadecimal en su equivalente decimal, multiplique el equivalente decimal de cada dígito hexadecimal por la potencia de 16 correspondiente y sume los valores resultantes:

C0E716 = (12 × 163) + (0 × 162) + (14 × 161) + (7 × 160) = (12 × 4096) + (0 × 256) + (14 × 16) + (7 × 1) = 49,38310

Octubre

El binario también se convierte fácilmente al sistema de numeración octal, ya que octal usa una base de 8, que es una potencia de dos (es decir, 23, por lo que se necesitan exactamente tres dígitos binarios para representar un dígito octal). La correspondencia entre números octales y binarios es la misma que para los primeros ocho dígitos hexadecimales en la tabla anterior. El 000 binario es equivalente al dígito octal 0, el 111 binario es equivalente al 7 octal, y así sucesivamente.

Octalbinario
0000
1001
2010
3011
4100
5101
6110
7111

La conversión de octal a binario se realiza de la misma manera que para el hexadecimal:

658 = 110 1012
178 = 001 1112

Y de binario a octal:

1011002 = 101 1002 agrupados = 548
100112 = 010 0112 agrupado con relleno = 238

Y de octal a decimal:

658 = (6 × 81) + (5 × 80) = (6 × 8) + (5 × 1) = 5310
1278 = (1 × 82) + (2 × 81) + (7 × 80) = (1 × 64) + (2 × 8) + (7 × 1) = 8710

Representación de números reales

Los números no enteros se pueden representar usando potencias negativas, que se separan de los otros dígitos por medio de un punto de raíz (llamado punto decimal en el sistema decimal). Por ejemplo, el número binario 11.012 significa:

1 × 21(1 × 2 = 2)más
1 × 20(1 × 1 = 1)más
0 × 2−1(0 × 1.2 = 0)más
1 × 2−2(1 × 1.4 = 0,25)

Para un total de 3,25 decimales.

Todos los números racionales dyadicos p2a{displaystyle {frac {f}{2}} {f}}} {f}}} {f}}} {f}} {f}}}} {f}}}}} tener un terminar numeral binario: la representación binaria tiene un número finito de términos después del punto del ráx. Otros números racionales tienen representación binaria, pero en lugar de terminar, ellos recursiva, con una secuencia finita de dígitos repitiendo indefinidamente. Por ejemplo

110310=12112=0.0101010101̄ ̄ ...... 2{fnMicroc} {1_{10}{3_{10}}={frac {1_{2}{11_{2}}=0.01010101{overline {01}ldots ,_{2}}
12101710=11002100012=0.101101001011010010110100̄ ̄ ...... 2{fnMicroc} {12_{10}{17_{10}}={frac {1100_{2}{10001_{2}}=0.1011010010110100{overline {10110100}ldots ,_{2}}

El fenómeno de que la representación binaria de cualquier racional termina o se repite también ocurre en otros sistemas numéricos basados en radix. Véase, por ejemplo, la explicación en decimal. Otra similitud es la existencia de representaciones alternativas para cualquier representación terminal, basándose en el hecho de que 0.111111... es la suma de la serie geométrica 2−1 + 2−2 + 2−3 +... que es 1.

Los números binarios que no terminan ni se repiten representan números irracionales. Por ejemplo,

  • 0.10100100010000100000100... tiene un patrón, pero no es un patrón recurrente de longitud fija, por lo que el número es irracional
  • 1.0110101000001001111001100110011111110... es la representación binaria de 2{displaystyle {sqrt {2}}, la raíz cuadrada de 2, otra irracional. No tiene patrón discernible.