linux安装不了bc命令,Linux之bc命令使用详解

# bcbc 1.06Copyright 1991-1994, 1997, 1998, 2000 Free Software Foundation, Inc.This is free software with ABSOLUTELY NO WARRANTY.For details type `warranty'.

(interrupt) use quit to exit.

(interrupt) use quit to exit.

quit#

--在bc上常用的运算符有:+ 加法- 减法* 乘法/ 除法(在没有设置scale精确度时候,自动取整)^ 指数% 求余数(取模)

在bc上还可以使用++ 变量                   -- 变量          变量 ++          变量 --

# bcbc 1.06Copyright 1991-1994, 1997, 1998, 2000 Free Software Foundation, Inc.This is free software with ABSOLUTELY NO WARRANTY.For details type `warranty'.1+23234+23/2*326725^315625100%40100%238quit

# bcbc 1.06Copyright 1991-1994, 1997, 1998, 2000 Free Software Foundation, Inc.This is free software with ABSOLUTELY NO WARRANTY.For details type `warranty'.scale=2 /*scale=number*/11/42.7511/33.66quit说明:scale=2 是设置小数精确度。/*备注部分*/

bc还可以运行一个带有复杂运算的程序文件(这属于bc的一个扩展属性),如:The following is code that uses the extended features of bc to   implementa   simple program for calculating checkbook balances.This program is best kept in a file so that it can be used many times   withouthaving to retype it at every use.

--使用vi建立一个test运算程序:# vi test

scale=2print ""Check book program!"print " Remember,deposits are negative transaction."

print " Initial balance?";bal=read()bal /= 1print ""n"while (1){       "current balance = ";bal       "transaction?";trans =read()       if(trans == 0) break;       bal -= trans       bal /= 1}~~~"test" [New] 14L, 268C written                              # ls--计算结果:

# bc "testbc 1.06Copyright 1991-1994, 1997, 1998, 2000 Free Software Foundation, Inc.This is free software with ABSOLUTELY NO WARRANTY.For details type `warranty'.

Check book program!Remember,deposits are negative transaction.Initial balance?560

current balance = 560.00transaction?400current balance = 160.00transaction?100current balance = 60.00transaction?0quit

还可以这么用:

将10进制数转换成16进制数

比如转换 65535 为 16进制

echo 'obase=16; 65535' | bc

得到 FFFF

printf 是挺方便的,不过我还是喜欢 bc ,因为它能转换任意进制,比如英制的12进制,

你也可以炮制并不存在的进制。比如

echo 'obase=37; 65535' | bc

就是37进制啦,哈哈,它等于 01 10 32 08

'obase=37; 65535' 都传递给程序 bc 告诉它,我要求现在 output base 为 37 ,那 65535 为多少呢?

另外,还有 ibase 表示 input base,比如

echo 'obase=16; ibase=8; 177777' | bc

可以直接将八进制的数177777变成十六进制,也是FFFF

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值