calc-extension

calc-extension

5.5
精选

简介:

计算数学表达式的值

# 计算扩展

(C) 马丁·瓦斯 <martin@mvath.de>

这个项目在 GNU 公共许可证 2.0 下。

WebExtension:计算数学表达式的值

该扩展力求对每个快速需要的人都有用
短期或中长期计算:在日常“浏览器”生活中,作为
数学家,或作为程序员 - 所有需求都有支持。

公式可以输入典型的数学家或
程序员的语法 - 两者都被理解。
还支持长时间的会话
(保存/恢复、导出到剪贴板等)。

最初的动机是尝试使用 Pratt 解析器。
已经有比大多数语言更丰富的表达式语法
(隐式乘号,函数调用不需要大括号),
将语法扩展为更成熟的“语言”会很简单。
(事实上​​,早期版本的 __calc-extension__ 有更简单的语法。
对解析器实现感兴趣的读者可以查看`data/js/parser.js`)。

安装__calc-extension__后,可以如下使用。

单击 __calc-extension__ 符号“1+2”或选项页面上的链接。
然后会打开一个页面,您可以在其中输入公式(见下文)
当您按下求解器按钮 (`~>`) 时计算。
(如果您愿意,可以选择使用回车键。)
然后显示结果,您可以输入下一个公式。
您还可以返回到先前输入的公式并“重新计算”它
(例如,在您修改了一些变量之后)。
要从列表中删除公式,只需删除主要公式文本
并按下解算器按钮。

一个简单的公式是一个通常的数学表达式,它由数字组成,
通常的运算符 `+` `-` `*` `/` 和大括号 `(` `)`。
和数学一样(虽然不是大多数计算机语言),
可以省略乘号“*”。
然而:

__注意 `x` 表示变量 x 而不是乘号 __!

对于乘法,请使用符号之一 `*` `·` `×` 或简单地省略它
(一个空格可以用来分隔相邻的标记)。
除法符号是`/` 或`:`。

数字具有通常的浮点格式,例如 `17` `0.1` `1.2e-3`,
或者它们可以是八进制或十六进制:对于以“0”开头的八进制数,
对于以“0x”开头的十六进制数。

还有一些运算符可以用在表达式中:

- `%` 余数(“取模”)
- `**` 或 `↑` 求幂(从右到左绑定)
- `&` 按位与
- `|` 按位或
- `^` 按位异或

还有一些可用的数学函数。
请注意,函数绑定比所有二元运算符都强,即
`sin PI/2` 与 `sin(PI)/2` 相同,但不同于 `sin(PI/2)`。

- `sin` 正弦,参数以弧度为单位
- `cos` 余弦,参数以弧度为单位
- `tan` 切线,参数以弧度为单位
- `asin` 反正弦,以弧度为单位
- `acos` 反余弦,以弧度为单位
- `atan` 反正切,以弧度为单位
- `sinh` 双曲正弦
- `cosh` 双曲余弦
- `tanh` 双曲正切
- `asinh` 双曲区域
- `acosh` 双曲面积余弦
- `atanh` 双曲正切
- `log10` 以 10 为底的对数
- `log2` 以 2 为底的对数
- `log` 自然对数(以 E 为底)
- `log1p` `log(1+x)` 其中 `x` 是参数
- `exp` 指数函数(基数 E)
- `expm1` `exp x - 1` 其中 `x` 是参数
- `sqrt` 平方根,即 `sqrt x = x ** (1/2)`
- `cbrt` 立方根,即 `cbrt x = x ** (1/3)`
- `abs` 绝对值
- `sign` 符号(1、0 或 -1)
- `floor` 向下舍入为整数的值
- `ceil` 值四舍五入为整数
- `trunc` 舍入为绝对值较小的整数的值
- `round` 值四舍五入到最接近的整数
- `fround` 值四舍五入到最接近的 32 位浮点数
- `clz32` 32 位表示中前导零位数

此外,还有可用的常量:

- `E` 欧拉数 exp 1
- `PI` 或 `π` 圆圈数 acos -1
- `SQRT2` 平方 2
- `SQRT1_2` 平方 1/2
- `LN2` 日志 2
- `LN10` 日志 10
- `LOG2E` log2 E
- `LOG10E` log10 E
- `EPSILON` 或 `ε` 1 到最小的较大浮点数的距离

最后,可以使用例如 `a=...` 定义变量并使用它们。
变量名只能由英文字符、数字或“_”组成。

函数和常量的名称以及运算符顺序类似于
那个javascript。但是,javascript 中的函数需要大括号,并且
乘号不能省略。

以下是进一步的扩展:

有一个特殊的变量名“#”,它总是指代的结果
最后一次(成功的)计算。

还有一些特殊的序列可以出现在表达式中的任何地方
并导致选项切换(您也可以通过鼠标切换它们)。
更永久地修改选项(也适用于未来的会话,甚至跨越
浏览器重新启动),您必须存储它们或使用首选项窗口。

- `'width:height'` 文本区域大小
- `"base"` 将输出切换到 base (2-36)
- `!` 新的输入字段是文本区域(多行)
- `?` 新的输入字段用于单行

函数和数字转换的实际计算发生
通过 javascript 调用。因此,可用的数学属性
精度、错误消息、数量限制和可能的不准确之处
(甚至可能是错误)是从 javascript interpter 继承的。

## 示例会话

- `1 + 2(1+1) + (2-1)(3-2)`
- ~> 6
- `1·1 + 1×1 + 1 1 + 1*1`
- ~> 4
- `2↑2↑3 - 2**8 + 4/3 - 1:3`
- -> 1
- `1 - cos π/2 + cos(PI/2)`
- ~> 1.5
- `a = 3(# + 1)`
- ~> 7.5
- `# + 4a`
- ~> 37.5
-`0xF | 0100“16”`
- ~> 4f(以 16 为基数)

## 权限

该扩展程序需要存储权限才能存储
选项/手风琴状态,可能还有本地存储上的会话。

## 语言

目前,支持以下语言:

- en(默认语言)
-德


评分:

暂时没有用户评价此插件。

使用人数:

101+ 位用户

版本:

5.5

大小:

49.74KB

分类:

生产工具

提供方:

mvath.develop

支持语言:

德语、英语

更新时间:

2023-03-06 22:38:44

ID:

manfffpjhdpdkeinlfcanehifhakepcj