Emacs下的计算器- calc | Emacs中文网

作者:

3 基本运算

3.1 逆波兰表达式

calc 按照逆波兰表达式的方式进行计算。比如,你要计算2+3的结果,要按照如下顺序在 calc 的 buffer 中输入:
2 <RET> 3 <RET> + (<RET> 表示回车)
假设,你当前输入了:
1 <RET> 2 <RET> 3 <RET>
然后,输入加号 ‘+’,那么 calc 将会计算 2+3 的结果, 并保持数字1不变,calc 的 buffer 中会剩下 1,5两个数字。此时,再次输入’+', calc 会计算 1+5 的结果,此时 calc 的 buffer 中只剩下一个数字 ‘6’。
很多时候,可以省略一个<RET>,比如计算2+3时,你可以省略第二个<RET>,只输入:
2 <RET> 3 +

4 数制转换

在 calc 中使用指令d2,d8,d0,d6可以在2进制,8进制,10进制,16进制之间切换(d2 就是先按’d',再按’2′,其他也以此类推)。calc 默认是使用10进制进行计算。当进入2进制,8进制,16进制模式时,mode line上会给出’Bin’,’Otc’,’Hex’字样的提示,默认的10进制模式是不会有任何提示的。当进入任何一种进制模式的时候,输入的数字都是以10进制模式输入的。比如在16进制模式下,输入:
10 <RET>
此时,calc中显示的数字是’A',而不是16进制的10。
如果你想按照当前的进制输入数字,需要在键入数字前按‘#’,比如,在16进制模式下输入:
#10 <RET>
此时,calc中显示的数字就是16进制的10,而不是A。

6 向量运算与矩阵运算

输入向量与矩阵的方法很简单。
比如,输入一个三维向量:
[ 1 <RET> 2 <RET> 3 <RET> ]
此时,calc 中就会显示:
[1, 2, 3]
(实际上{zh1}一个<RET>可以省略)
输入矩阵的方法与向量类似,比如,我们输入一个2×2的矩阵:
[ [ 1 <RET> 2 <RET> ] [ 3 <RET> 4 <RET> ] ]
此时, calc 中会显示:
[ [ 1, 2 ]
[ 3, 4 ] ]
calc中专门的矩阵运算法则我没有研究过,我自己平常会用到的,也就是矩阵求逆。只需输入一个矩阵,然后按“&”就可以了(还记得“&”么?如果对数字使用“&”运算,就是求倒数,对于矩阵,就是求逆)。

8 定义函数

在 calc 中你可以定义自己的函数。定义函数的指令是:
Z F
比如,先输入一个公式:
‘a + 2b
然后键入:
Z F m
再回答几个 minibuffer 中提出的问题,就定义了一个以 ‘z m’为快捷键的函数了。
此时,再输入两个数字:
1 <RET> 2 <RET>
然后按:
z m
就会按照公式计算出1+2*2的结果,也就是5。

使用指令:
Z P
可以把函数保存到文件,这样在以后的 emacs 会话中都可以使用这个函数。
比如,输入:
Z P m
可以把刚才定义的函数’z m’保存到由变量 calc-settings-file 指定的文件中。以后每次进入 calc 时,保存在这只文件中的函数也会被自动加载。calc-settings-file 的默认值是”~/.calc.el”,我通常喜欢把它挪到.emacs.d 里面:

Emacs下的计算器 - calc8.0101 标签:, , ,

相关日志

:wink: :-| :-x :twisted: :) 8-O :( :roll: :-P :oops: :-o :mrgreen: :lol: :idea: :-D :evil: :cry: 8) :arrow: :-? :?: :!:

郑重声明:资讯 【Emacs下的计算器- calc | Emacs中文网】由 发布,版权归原作者及其所在单位,其原创性以及文中陈述文字和内容未经(企业库qiyeku.com)证实,请读者仅作参考,并请自行核实相关内容。若本文有侵犯到您的版权, 请你提供相关证明及申请并与我们联系(qiyeku # qq.com)或【在线投诉】,我们审核后将会尽快处理。
—— 相关资讯 ——