IT猫扑网文章教程

分类分类

Linux/Unix下常用数学计算

2015-06-28 00:00作者:网管联盟

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

    如: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写的小程序要的来的快多了。

展开全部

相关文章

说两句网友评论
    我要跟贴
    取消