迹忆客 专注技术分享

当前位置:主页 > 学无止境 > 操作系统 >

Bash 中的浮点运算

作者:迹忆客 最近更新:2023/05/18 浏览次数:

这篇简短的文章描述了如何在 GNU BASH(Shell 脚本)中直接在命令提示符下或在 shell 脚本中快速执行浮点计算。

如果您使用数字,在命令提示符 (shell) 或 shell 脚本中执行快速浮点计算可能会有所帮助。 本文介绍了以下四种在 Bash 中进行浮点运算的方法:

  1. 使用 bc 命令的任意精度计算器方法。
  2. 使用awk模式扫描和处理方法。
  3. 使用 perl 命令方法。
  4. 使用python命令方法。

Bash 中的整数运算

可以在 Bash 脚本中使用命令行上的 expr 命令或方括号来计算表达式 $[1+1] 来轻松执行仅整数运算。 这显示在下面的代码中:

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

这将生成以下输出:

expr 和整数算术输出

但这些只是整数计算。 如果在这些计算中答案是浮点数,那么它只显示它的整数部分。

要执行浮点运算,我们需要下面讨论的工具的帮助。


Bash 中的浮点运算

可以使用多种工具在 Bash 中执行浮点算术运算。 但是,本文将探讨四种使用最广泛且最容易获得(在所有 UNIX 或 Linux 操作系统系列中)的工具。


在 Bash 中使用基本计算器 (bc) 进行浮点运算

对于命令行计算器,请使用 bc 命令。 它相当于一个简单的计算器,我们可以用它来进行简单的数学计算。

任何编程语言中最基本的运算都是算术运算。 bc 和 expr 命令在 Linux 或 Unix 操作系统中可用,用于执行数学运算。

这些命令可以计算 shell 脚本或 Bash 中的算术表达式。

以下脚本将计算浮点数的加法和除法并显示屏幕结果。

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

这将给出以下输出:

bc output


在 Bash 中使用 awk 命令进行浮点运算

实数或浮点数包含小数部分。 在 awk 中,所有数值均由双精度浮点数表示。

换句话说,awk中的所有数字都是浮点数,也就是说所有的计算都使用这些数字。

awk 命令的好处是它在所有类 UNIX 操作系统或 Linux 发行版中都可用,因为它相当古老并且已经使用了很长时间。

以下脚本使用 awk 计算两个浮点数的乘法和除法。

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

这将给出以下输出:

awk output


在 Bash 中使用 perl 命令进行浮点运算

Perl 是一种编程语言,通常包含在所有 Linux 发行版或其他类 UNIX 操作系统的软件包中。 perl 命令可以在 Bash 中使用,它有助于在 Linux 中执行浮点算术运算。

它可以执行所有操作,如加法、减法、乘法、除法和赋值运算符。

以下脚本在 Linux 中使用 perl 命令计算两个浮点数的减法和除法:

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

这将给出以下输出:

perl output


在 Bash 中使用 python 命令进行浮点运算

就像 Perl 一样,Python 是另一种广泛用于所有编程领域的语言。 这是一种经常使用的语言,有时会预装在您的 Linux 发行版中。

python 命令有助于在 Bash 脚本中执行浮点算术运算。 它可以执行所有操作,如加法、减法、乘法、除法和赋值运算符。

以下脚本将使用 python 命令计算两个浮点数的加法和除法:

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

这将给出以下输出:

python output


总结

在 Unix 或 GNU Bourne Again Shell (Bash) 下,至少有四种方法可以在命令行或脚本中执行浮点运算。 这些是 awk、perl、python 和 bc 命令。

Unix 系统可能预装了 AWK、BC 和 Perl。 虽然 Python 仍然不如 PERL 流行,但它现在已经相当普遍了。

与通常默认为 32 位或 64 位精度浮点的其他计算器不同,BC 具有作为任意精度计算器的独特优势。

转载请发邮件至 1244347461@qq.com 进行申请,经作者同意之后,转载请以链接形式注明出处

本文地址:

相关文章

批处理脚本中的 For 循环

发布时间:2023/05/19 浏览次数:103 分类:操作系统

本篇文章将介绍如何在批处理脚本中使用 FOR 循环。循环用于连续执行特定任务,直到达到程序员指定的次数。 这个 FOR 循环有不同的版本。

批处理脚本中的 For \F

发布时间:2023/05/19 浏览次数:151 分类:操作系统

本文将讨论在批处理脚本中使用 FOR /F 循环。在批处理脚本中使用 FOR /F 循环 此类 FOR 循环的一般格式如下所示:

批处理文件循环遍历子目录中的文件

发布时间:2023/05/19 浏览次数:163 分类:操作系统

本文说明了我们如何编写一个批处理脚本来循环遍历子目录中的文件。 我们将举一个例子来解释这个概念。批处理文件循环遍历子目录中的文件

批处理文件删除文件名的 X 个字符

发布时间:2023/05/19 浏览次数:136 分类:操作系统

本文说明了我们如何使用批处理脚本从文件的文件名中删除特定字符。 我们将在下面介绍在 Windows 上重命名文件的几种方法。Windows 上的文件资源管理器重命名

在批处理脚本中声明变量

发布时间:2023/05/19 浏览次数:69 分类:操作系统

本文将演示如何在批处理脚本中声明和定义变量。在批处理脚本中声明变量。在 Batch 中,不需要使用任何其他关键字来声明整数、浮点数、双精度或字符串类型变量。

在批处理脚本中将文件读入变量

发布时间:2023/05/19 浏览次数:174 分类:操作系统

本文将向我们展示如何将整个文件内容放入一个变量中,此外,我们还将看到一个示例和解释,以使该主题更容易理解。使用FOR循环批量读取变量中的文件

Batch 检查指定的环境变量是否包含子字符串

发布时间:2023/05/19 浏览次数:108 分类:操作系统

本文讨论如何使用 Batch 命令来测试某个环境变量是否包含特定的子字符串。 我们将介绍可以在上述场景中使用的两个批处理脚本。检查指定的环境变量是否包含子字符串

扫一扫阅读全部技术教程

社交账号
  • https://www.github.com/onmpw
  • qq:1244347461

最新推荐

教程更新

热门标签

扫码一下
查看教程更方便