关闭

Linux/Unix下常用数学计算

发表于:2009-9-15 11:15

字体: | 上一篇 | 下一篇 | 我要投稿

 作者:未知    来源:网络转载

#
Linux

  有时候我们需要做一些简单的计算,如: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写的小程序要的来的快多了。

《2023软件测试行业现状调查报告》独家发布~

关注51Testing

联系我们

快捷面板 站点地图 联系我们 广告服务 关于我们 站长统计 发展历程

法律顾问:上海兰迪律师事务所 项棋律师
版权所有 上海博为峰软件技术股份有限公司 Copyright©51testing.com 2003-2024
投诉及意见反馈:webmaster@51testing.com; 业务联系:service@51testing.com 021-64471599-8017

沪ICP备05003035号

沪公网安备 31010102002173号