> 问答

Linux/Unix下常用数学计算

人阅读 2024-10-17 06:06:23Linux
广告 X
欧意最新版本

欧意最新版本

欧意最新版本app是一款安全、稳定、可靠的数字货币交易平台。

APP下载  官网地址

    有时候我们需要做一些简单的计算,

    如:1.1^10 应该是多少,计算一些百分率等等小事情,如果在windows下我们就知道回去用计算器了,Linux/Unix下怎么办呢。

    会写C当然很快就可以解决了。但有点大才小用了,以前我一直使用gdb下的print来做,但有时候还是不大好,如: 1.1^10这样的计算目前还不知道怎么解决,简单了了解了一下,原来shell中的万能的awk就可以帮我们了。

    看一些简单的事例:

    [oracle@asm tmp]$ gdb

    GNU gdb Red Hat Linux (6.3.0.0-1.63rh)

    Copyright 2004 Free Software Foundation, Inc.

    GDB is free software, covered by the GNU General Public License, and you are

    welcome to change it and/or distribute copies of it under certain conditions.

    Type "show copying" to see the conditions.

    There is absolutely no warranty for GDB.  Type "show warranty" for details.

    This GDB was configured as "i386-redhat-linux-gnu".

    (gdb) p 1.4*123.324*3

    $1 = 517.96079999999995

    (gdb) p /x 1.4*123.324*3

    $2 = 0x205

    (gdb) p /x 4*24

    $3 = 0x60

    (gdb)

    [oracle@asm tmp]$ echo | awk '{print 1.1*2*23.34;}'

    51.348

    [oracle@asm tmp]$ awk 'BEGIN {print (1.25^10);}'

    9.31323

    awk 支持不少常见的运算符, 如:

    (加),- (减), * (乘), / (除), ^ 或 **(乘方), % 取模) 等等。

    此外, awk 也提供了一些常用的数学函数, 比如 sin(x), cos(x), exp(x), log(x), sqrt(x), rand()。 使用这些运算符和函数可以直接进行一些简单的运算:

    [oracle@asm tmp]$ echo | awk '{print sin(2);}'

    0.909297

    如果比会使用的话这个其实比使用windows下的计算器,C写的小程序要的来的快多了。

关键词标签:Linux,Unix

LOT物联网

iot产品 iot技术 iot应用 iot工程

Powered By LOT物联网  闽ICP备2024036174号-1

联系邮箱:support1012@126.com