> For the complete documentation index, see [llms.txt](https://juan-martin-franco.gitbook.io/network-+/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://juan-martin-franco.gitbook.io/network-+/6.-direccionamiento-ip/6.5-matematicas-computacionales.md).

# 6.5 - Matemáticas Computacionales

## Matemáticas Computacionales

Las computadoras realizan las matemáticas y las numeraciones de una forma diferente a los seres humanos.

Mientras que los humanos utilizamos el <mark style="color:blue;">**sistema decimal**</mark>, las computadoras utilizan el <mark style="color:red;">**sistema binario**</mark>.

### Sistema de numeración Decimal&#x20;

El <mark style="color:blue;">**sistema de numeración decimal**</mark>, conocido como <mark style="color:blue;">**sistema decimal**</mark>, es un sistema de numeración posicional en el que <mark style="color:green;">**las cantidades se representan utilizando como base aritmética el número diez (10)**</mark>.

El conjunto de símbolos se compone de 10 cifras: 0, 1, 2, 3, 4, 5, 6, 7, 8 y 9.

Al ser posicional, el sistema decimal es un sistema de numeración en el cual el valor de cada dígito depende de su posición dentro del número.

<figure><img src="https://1668154188-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FKyoEXmY0jfChHS8PdGMX%2Fuploads%2FY5g9fDIsSHtQ6b5SYxKg%2Fimage.png?alt=media&amp;token=db08419c-5d50-4886-bc3e-9f0ce2084840" alt=""><figcaption></figcaption></figure>

### Sistema de numeración Binario

El <mark style="color:red;">**sistema de numeración binario**</mark>, conocido como <mark style="color:red;">**sistema binario**</mark>, es un sistema de numeración posicional en el que <mark style="color:green;">**las cantidades se representan utilizando como base aritmética el número dos (2)**</mark>.

El conjunto de símbolos se compone de 2 cifras: 0 y 1.

Al ser posicional, el sistema decimal es un sistema de numeración en el cual el valor de cada dígito depende de su posición dentro del número.

Este sistema de numeración es el que utilizan y entienden las computadoras.

<figure><img src="https://1668154188-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FKyoEXmY0jfChHS8PdGMX%2Fuploads%2FJM4euSjWoc8fWq3UQGHh%2Fimage.png?alt=media&amp;token=7e389c73-142d-45ed-a8cb-f68a7bb92ace" alt=""><figcaption></figcaption></figure>

### Binario a Decimal - Conversión

Para convertir un número en sistema binario a su equivalente en sistema decimal, es necesario tener en cuenta que cada posición representa un valor.

El número más a la derecha representa un 1 (2 elevado a la 0), el anteúltimo representa un 2 (2 elevado a la 1), el siguiente un 4 (2 elevado a la 2) y así sucesivamente.

Por ejemplo, suponiendo que tengo el número 10010110 en binario y quiero convertirlo a decimal, primero debo llenar la tabla donde cada posición representa una potencia de 2, siendo la más cercana a la derecha la primera (2 a la 0) y aumentando una potencia a medida que nos movemos hacia la izquierda hasta llegar al último dígito:

<figure><img src="https://1668154188-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FKyoEXmY0jfChHS8PdGMX%2Fuploads%2FEmSUmQYH1pa2wnZuv3wA%2Fimage.png?alt=media&amp;token=85beadcc-209e-4027-89c4-8790d3dbf3ef" alt=""><figcaption></figcaption></figure>

Una vez hecho esto, solo resta sumar los valores correspondientes a aquellos casilleros donde haya un 1, el cual indica la presencia de valor:

128 + 16 + 4 + 2 = 150

Por lo que podemos concluir que 10010110 en binario equivale a 150 en decimal.

<figure><img src="https://1668154188-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FKyoEXmY0jfChHS8PdGMX%2Fuploads%2Fas9b1OdZDs7iWk6Gk1bM%2Fimage.png?alt=media&amp;token=e9267ce9-12be-4c5c-8f7c-b6e88927934c" alt=""><figcaption></figcaption></figure>

### Decimal a Binario - Conversión

Para convertir un número en sistema binario a su equivalente en sistema decimal, es necesario tener en cuenta que cada posición representa un valor.

El número más a la derecha representa un 1 (10 elevado a la 0), el anteúltimo representa un 10 (10 elevado a la 1), el siguiente un 100 (10 elevado a la 2) y así sucesivamente.

Por ejemplo, suponiendo que tengo el número 167 en decimal, y quiero convertirlo a binario, debo ir revisando casilla por casilla si el número es mas grande que la casilla, de ser así, pongo un uno en esa casilla y le resto su valor correspondiente, y así sucesivamente hasta llegar a la última casilla, la correspondiente a 2 elevado a la 0.

En este caso:

167 >= 128? Si --> Pongo un 1 en esa casilla y resto 167 - 128 = 39.

39 >= 64? No --> Sigo con la siguiente casilla.

39 >= 32? Si --> Pongo un 1 en esa casilla y resto 39 - 32 = 7.

7 >= 16? No --> Sigo con la siguiente casilla.

7 >= 8? No --> Sigo con la siguiente casilla.

7 >= 4? Si --> Pongo un 1 en esa casilla y resto 7 - 4 = 3.

3 >= 2? Si --> Pongo un 1 en esa casilla y resto 3 - 2 = 1.

1 >= 1? Si --> Pongo un 1 en esa casilla y finalizo.

Ahora, revisando las casillas, obtengo que el equivalente a 167 en decimal es el número 10100111 en binario.

<figure><img src="https://1668154188-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FKyoEXmY0jfChHS8PdGMX%2Fuploads%2Fn6mzAv5JAHN1HnLKHhQn%2Fimage.png?alt=media&amp;token=31c9c5fb-8359-4baa-ab96-3e4e240aad57" alt=""><figcaption></figcaption></figure>
