Chinaunix首页 | 论坛 | 博客
  • 博客访问: 4008379
  • 博文数量: 536
  • 博客积分: 10470
  • 博客等级: 上将
  • 技术积分: 4825
  • 用 户 组: 普通用户
  • 注册时间: 2006-05-26 14:08
文章分类

全部博文(536)

文章存档

2024年(3)

2021年(1)

2019年(1)

2017年(1)

2016年(2)

2013年(2)

2012年(10)

2011年(43)

2010年(10)

2009年(17)

2008年(121)

2007年(252)

2006年(73)

分类: LINUX

2009-09-11 15:23:26

有时候我们需要做一些简单的计算,
  如: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写的小程序要的来的快多了。
阅读(2610) | 评论(5) | 转发(0) |
0

上一篇:printf NULL core

下一篇:Move ASM file

给主人留下些什么吧!~~

starwing832009-09-17 03:26:55

另外,gnome-calculator也不错阿……

naihe20102009-09-17 00:16:33

呵呵,这才叫高射炮打蚊子呢。

chinaunix网友2009-09-16 15:13:02

...

chinaunix网友2009-09-14 18:09:17

楼上说过了... lz 还处于半桶水状态乱撞的状态

chinaunix网友2009-09-14 14:01:59

GG,有个命令较bc