Aritmética de punto flotante en Bash

Naila Saad Siddiqui 15 febrero 2024
  1. Aritmética de enteros en Bash
  2. Aritmética de punto flotante en Bash
  3. Use la calculadora básica (bc) para la aritmética de coma flotante en Bash
  4. Utilice el comando awk para la aritmética de punto flotante en Bash
  5. Utilice el comando perl para la aritmética de punto flotante en Bash
  6. Utilice el comando python para la aritmética de punto flotante en Bash
  7. Conclusión
Aritmética de punto flotante en Bash

Este breve artículo describe cómo realizar rápidamente cálculos de punto flotante en GNU BASH (Shell Scripting), ya sea directamente en el símbolo del sistema o en un script de shell.

Realizar cálculos rápidos de coma flotante en el símbolo del sistema (shell) o en scripts de shell puede ser útil si trabaja con números. Los siguientes cuatro métodos para hacer aritmética de coma flotante en Bash se tratan en este artículo:

  1. El método de la calculadora de precisión arbitraria utilizando el comando bc.
  2. Usando el método de escaneo y procesamiento de patrones awk.
  3. Usando el método de comando perl.
  4. Usando el método de comando python.

Aritmética de enteros en Bash

La aritmética de solo enteros se puede realizar fácilmente en el script Bash utilizando el comando expr en la línea de comando o los corchetes para evaluar su expresión $[1+1]. Esto se muestra en el siguiente código:

#!/bin/bash
echo $[2 + 1]

Esto generará la siguiente salida:

expr y salida aritmética entera

Pero estos son cálculos de solo números enteros. Si la respuesta está en punto flotante en estos cálculos, solo muestra su parte integral.

Para realizar operaciones de punto flotante, necesitamos la ayuda de las herramientas que se analizan a continuación.

Aritmética de punto flotante en Bash

Se pueden usar varias herramientas para realizar operaciones aritméticas de coma flotante en Bash. Sin embargo, este artículo explorará las cuatro herramientas más utilizadas y fácilmente disponibles (en toda la familia de sistemas operativos UNIX o Linux).

Use la calculadora básica (bc) para la aritmética de coma flotante en Bash

Para una calculadora de línea de comandos, use el comando bc. Es comparable a una calculadora simple que podemos usar para realizar cálculos matemáticos simples.

Las operaciones más fundamentales en cualquier lenguaje de programación son las operaciones aritméticas. Los comandos bc y expr están disponibles en el sistema operativo Linux o Unix para realizar operaciones matemáticas.

Estos comandos pueden evaluar expresiones aritméticas en shell script o Bash.

El siguiente script calculará la suma y división de números de punto flotante y mostrará el resultado de la pantalla.

#!/bin/bash
echo "Addition: "
echo '1.5 + 2.5' | bc -l
echo "Division"
echo '2.1/3.2' | bc -l

Esto dará el siguiente resultado:

salida bc

Utilice el comando awk para la aritmética de punto flotante en Bash

Los números reales o números de punto flotante contienen un componente fraccionario. Todos los valores numéricos están representados por números de punto flotante de doble precisión en awk.

Para decirlo de otra manera, todos los números en awk son números de coma flotante, lo que significa que todos los cálculos usan estos números.

El comando awk tiene la ventaja de que está disponible en todos los sistemas operativos tipo UNIX o distribuciones de Linux, ya que es bastante antiguo y ha estado en uso durante mucho tiempo.

El siguiente script calcula la multiplicación y división de dos números de punto flotante usando awk.

#!/bin/bash
echo "Multiplication: "
echo - | awk '{print 2.1 * 3.2}'
echo "Division"
echo - | awk '{print 2.1 / 3.2}'

Esto dará el siguiente resultado:

salida awk

Utilice el comando perl para la aritmética de punto flotante en Bash

Perl es un lenguaje de programación que generalmente viene en un paquete con todas las distribuciones de Linux u otros sistemas operativos similares a UNIX. El comando perl se puede usar en Bash y ayuda a realizar operaciones aritméticas de coma flotante en Linux.

Puede realizar todas las operaciones como suma, resta, multiplicación, división y operador de asignación.

El siguiente script calcula la resta y división de dos números de punto flotante usando el comando perl en Linux:

#!/bin/bash
echo "Subtraction: "
perl -e 'print 4.1 - 6.2'
echo "Division"
perl -e 'print 4.1 / 2.2'

Esto dará el siguiente resultado:

salida perl

Utilice el comando python para la aritmética de punto flotante en Bash

Al igual que Perl, Python es otro lenguaje ampliamente utilizado en todos los campos de la programación. Este es un lenguaje de uso frecuente y, a veces, está preinstalado con su distribución de Linux.

El comando python ayuda a realizar operaciones aritméticas de punto flotante en el script Bash. Puede realizar todas las operaciones como suma, resta, multiplicación, división y operador de asignación.

El siguiente script calculará la suma y división de dos números de punto flotante usando el comando python:

#!/bin/bash
echo "Addition: "
python -c 'print 4.1 + 6.2'
echo "Division"
python -c 'print 4.1 / 2.2'

Esto dará el siguiente resultado:

salida de pitón

Conclusión

Bajo Unix o GNU Bourne Again Shell (Bash), hay al menos cuatro formas de realizar aritmética de punto flotante en la línea de comandos o en los scripts. Estos son los comandos awk, perl, python y bc.

Es probable que un sistema Unix venga con AWK, BC y Perl preinstalados. Aunque Python sigue siendo menos popular que PERL, ahora está bastante extendido.

A diferencia de otras calculadoras, que por defecto suelen tener una precisión de punto flotante de 32 o 64 bits, BC tiene la ventaja única de ser una calculadora de precisión arbitraria.