Skip to content

Commit

Permalink
fix: rename dc => dc.md (#402)
Browse files Browse the repository at this point in the history
  • Loading branch information
jaywcjlove committed Aug 18, 2022
1 parent 468c910 commit af379c5
Show file tree
Hide file tree
Showing 2 changed files with 48 additions and 60 deletions.
60 changes: 0 additions & 60 deletions command/dc

This file was deleted.

48 changes: 48 additions & 0 deletions command/dc.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,48 @@
dc
===

任意精度计算器

## 说明

dc 是一款逆波兰表达式计算器,支持无限制精度的算术运算。它还允许您定义和调用宏。通常,dc从标准输入读取,也可以通过参数传入文件来求值。

## 语法

```shell
dc [参数] [文件...]
```

## 示例

```shell
10 # 输入数字10
10 # 输入数字10
* # 输入运算类型*表示乘
p # 输入p得到计算结果
100
q # 输入q退出dc
```

## 支持的运算

`+` 从堆栈中弹出两个值,将它们相加,然后压栈结果。

`-` 弹出两个值,从弹出的第二个值中减去弹出的第一个值,并压栈结果。

`*` 弹出两个值,将它们相乘,然后压栈结果。结果中分数位数取决于当前精度值和两个参数中的分数位数。

`/` 弹出两个值,将弹出的第二个值与弹出的第一个值相除,然后推送结果。分数位数由精度值指定。

`%` 弹出两个值,计算/命令将执行的除法的剩余部分,并推送该值。计算的值与序列 `Sd dld/Ld*- `计算的值相同。

`~` 弹出两个值,将弹出的第二个值与弹出的第一个值相除。首先推送商,然后推送余数。除法中使用的小数位数由精度值指定。

(序列 SdSn lnld/lnld% 也可以完成此功能,但错误检查略有不同。)


`^` 使用弹出的第一个值作为指数,第二个值作为基数,弹出两个值并进行幂运算。忽略指数的分数部分。

`|` 弹出三个值并计算模幂。 弹出的第一个值用作约简模数; 这个值必须是一个非零数字,并且应该是一个整数。 弹出的第二个用作指数; 该值必须是非负数,并且该指数的任何小数部分都将被忽略。 弹出的第三个值是取幂的基数,它应该是一个整数。 对于小整数,这类似于序列 Sm^Lm%,但与 ^ 不同的是,此命令适用于任意大的指数。

`v` 弹出一个值,计算其平方根,然后压栈它。精度值的最大值和参数的精度用于确定结果中的小数位数。

0 comments on commit af379c5

Please sign in to comment.