计算器¶
启动命令为 calc,桌面入口仍归属“工具”,不属于 ReliefOffice。
界面使用项目公共 FLTK gtk+ 主题、中文字体和系统剪贴板。
模式¶
模式:标准; 功能:小数、四则运算、括号、百分比、平方、平方根、倒数、正负号和内存。
模式:科学; 功能:乘方、阶乘、三角与反三角函数、双曲函数、对数、指数、取整、常量和角度/弧度。
模式:程序员; 功能:二、八、十、十六进制;8/16/32/64 位;补码、位运算、移位、循环移位和可点击位编辑器。
模式:单位换算; 功能:18 类、145 个单位;支持表达式输入、延迟合并的实时预览、交换单位和同时显示其他等价值。
模式:统计; 功能:最多 1024 个数的个数、总和、平均值、中位数、最小/最大值、总体/样本方差及标准差。
模式:日期; 功能:公历日期差、周一至周五的工作日数、增加/减少整日,以及星期显示。
各模式保留独立输入。历史最多保存本次运行的 64 条结果;内存和历史不写入磁盘。 双击标准/科学模式的历史重新载入表达式并计算;双击其他记录复制其结果。
表达式和精度¶
标准与科学模式使用有限双精度浮点数,显示最多 15 位有效数字。 浮点结果存在舍入误差。整数的精确位运算应使用程序员模式。
支持
+ - * / ^、括号,以及后缀%、!。200*10%等于20;200+10%等于200.1,百分号总是将前面的数除以 100。乘方从右向左结合:
2^3^2 = 512;-2^2 = -4;2^-3 = 0.125。乘法必须写出
*,例如2*pi。常量为
pi、tau、e,ans为最后一个标准/科学计算结果,mem为内存值。单参数函数:
sin cos tan asin acos atan sinh cosh tanh sqrt cbrt ln log exp abs floor ceil round。双参数函数:
pow min max hypot mod atan2,以逗号分隔两个参数;atan2(y,x)。三角函数和反三角函数受角度/弧度选择影响,双曲函数不受影响。
阶乘只接受 0 至 170 的整数;除零、无效定义域和非有限结果均显示明确错误。
表达式最多 1024 字节,嵌套/一元运算深度有界,不执行脚本或外部命令。
内存按钮为 MC (清除)、 MR (读取)、 MS (存储)、 M+ (加)、 M- (减)。
存储和加减使用当前有效表达式;失败时保留原内存值。
计算后继续输入运算符会接着当前结果计算,输入数字开始新表达式;= 和
Enter 均可求值。多行统计输入区的 Ctrl+Enter 在原生输入控件之前处理。
程序员模式¶
未带前缀的数字按所选进制解释;0x、0b、0o、0d 分别显式指定
十六、二、八、十进制。例如 0xFF+0b1010 等于十进制 265。
数字不经过浮点数,因此可以精确处理 18446744073709551615。
运算优先级从低到高为:
OR/|XOR/^AND/&<<、>>+、-*、/、MOD/%一元
+、-、NOT/~和括号
rol(值,位数)、ror(值,位数) 在选定字长内循环移位。位数也按所选进制
解释,必须小于字长。^ 在此模式表示异或,在科学模式表示乘方。
算术使用所选字长的模运算,截断时给出提示;不合法的字面量会报告超范围, 而不会静默截断。除法取整数商。有符号模式按补码解释十进制显示、除法、取余 和右移;HEX/OCT/BIN 始终显示位模式。计算后的值在切换进制/符号模式时保留 位模式,缩短字长保留低位。未计算的输入按新的设置重新解析。
位编辑器从左至右为高位到低位,每行 16 位,禁用超出当前字长的按钮。
单位与日历约定¶
换算类别包括长度、面积、体积与容量、质量、温度、时间、速度、加速度、角度、 压力、能量、功率、力、频率、数据存储、数据传输速率、密度和力矩。
常数参考 NIST SP 811
与 NIST 二进制前缀说明。
电子伏特使用 2018 年国际计量大会决议中的基本电荷精确值:
1 eV = 1.602176634 × 10^-19 J。
英尺使用国际英尺;容量明确区分美制液体单位和英制单位;卡路里使用热化学
定义,BTU 使用 IT 定义。MB/GB 为十进制,MiB/GiB 为二进制,字节为 8 比特。
儒略年固定为 365.25 日,不等于任意公历年长度。温度转换包含零点偏移,
拒绝低于绝对零度的数值。换算使用浮点计算,极端数值可能超出范围。
面积、容量、质量、频率、数据大小、传输速率和密度不接受负数;长度、时间、
速度、加速度、角度、压力、能量、功率、力和力矩允许有符号数值。
日期接受 YYYY-MM-DD,支持 0001 至 9999 年。日期差为“结束减起始”,
不含结束日;逆序日期得到负数。工作日仅排除周六、周日,不考虑法定节假日。
增加天数使用公历整日运算,不依赖时区的夏令时转换。统计中的样本方差和
样本标准差在只有一个数时显示“不适用”。
快捷键¶
Ctrl+1 至 Ctrl+6 切换模式;Enter 计算,统计多行输入用 Ctrl+Enter; Esc 清空当前模式输入,Ctrl+Shift+C 复制结果。