进制转换校验
嵌入式开发调试串口协议,手册给的寄存器地址是十六进制 0x3FF,但逻辑分析仪抓到的报文是二进制 1111111111。手算怕错,用本工具的进制转换功能,输入十六进制立即得到二进制、八进制和十进制结果,三方对照确认无误,避免因进制误读导致寄存器写错地址。
粘贴或输入整段表达式 · sin(30)+cos(60)*sqrt(2) / 2^10-5! / log(100)/log(2)
常量 pi e phi c h G N_A;函数 sin cos tan asin… ln log log2 sqrt cbrt abs exp floor ceil round sign
任一行输入即实时同步其余三行 · 最大支持 2⁵³−1(JS 安全整数)· 位宽显示供位运算参考
输入数据集 · 支持空格 / 逗号 / 换行 / 分号 / 中文标点分隔 · 自动忽略非数字
点击任一常量即载入到科学计算器表达式末尾
暂无记录 · 计算后自动存入,点击可载入
键盘:0-9 . + - * / ( ) % ^ 直接输入 · Enter 或 = 计算 · Backspace 删除 · Esc 清空;表达式面板用 Ctrl/⌘ + Enter
角度:DEG 下 sin(30)=0.5,RAD 下 sin(pi/6)=0.5,GRAD 下 sin(33.33…)≈0.5;切换立即重算
第二功能 2nd:切换替代标签(sin→sin⁻¹ / log→10ˣ / √→∛ / x²→x³ / n!→1/x 等)
内存:MS 存入 / MR 读取 / M+ 累加 / M− 减 / MC 清空
进制:四进制实时互转,任一框输入即同步其余三个,最大 2⁵³−1
统计:粘贴任意分隔数字串,自动跳过非数字,同时计算样本与总体两套方差/标准差
方程:四类常用方程一键求解,含复根;二元一次走克拉默法则
单位:9 大类 60+ 单位实时换算,温度走零点偏移公式
历史:最近 50 条本地存储,点击载入主表达式,支持导出 CSV / TXT
考试里按计算器最容易出错的瞬间,是 sin(π/6) 按成 sin(30) 却不知道弧度制没切换。这个科学计算器把三角、对数、阶乘、进制转换和内存键都放在一个页面,输入即算,不依赖后端。浏览器本地执行,算式和结果不会离开设备——适合考试前速算复核、编程时进制互查、工程现场快速验算,不联网也能用。
嵌入式开发调试串口协议,手册给的寄存器地址是十六进制 0x3FF,但逻辑分析仪抓到的报文是二进制 1111111111。手算怕错,用本工具的进制转换功能,输入十六进制立即得到二进制、八进制和十进制结果,三方对照确认无误,避免因进制误读导致寄存器写错地址。
生物实验配制梯度稀释液,需要将母液按 1:10、1:100、1:1000 稀释,每次稀释后浓度是前一次的 0.1 倍。用本工具计算 log₁₀(0.1) = -1,连续三次稀释后 log₁₀(浓度) 依次递减 1,直接在工具里输入数值验证稀释倍数是否准确,免去纸笔推导对数表的繁琐。
活动策划要排 8 个嘉宾的出场顺序,总排列数是 8! = 40320 种。但其中 3 位嘉宾必须连在一起出场,实际有效排列数为 6! × 3! = 4320 种。用本工具分别计算 8!、6!、3!,快速得到两种方案的数量差,据此决定是否需要抽签或按规则筛选,避免人工枚举漏算。
装修现场要做一个 30° 斜角的电视背景墙,墙面总宽 3 米。用本工具计算 sin(30°) = 0.5,斜边长度 = 3 ÷ 0.5 = 6 米,直接得到板材切割尺寸。不用翻手机查三角函数表,也不用现场画图量角,输入角度立即出值,下料时按计算结果划线即可。
Redis 实例中 key 数量接近 10 万,需要估算每个 key 平均占用字节数。用本工具的内存键功能,输入总内存占用 512MB 和 key 总数 100000,得到平均每个 key 约 5.12KB。再结合 key 的 TTL 分布,判断是否需要做数据淘汰或扩容,比用 Excel 手动除更快。
| 维度 | 本工具 | 竞品 A(CalcTastic) | 传统方法(实体计算器) |
|---|---|---|---|
| 计算类型 | 三角/对数/阶乘/进制/内存键 | 科学函数 + 统计/概率/矩阵 | 基础四则 + 少数科学函数(视型号) |
| 进制转换 | 内置二进制/八进制/十进制/十六进制切换 | 需切换模式或手动换算 | 仅部分工程型支持 |
| 内存键 | 支持 M+ M- MR MC 等标准内存操作 | 支持,但部分版本需长按 | 物理按键直接操作 |
| 离线可用 | 完全离线(纯前端) | 需下载安装(离线可用) | 完全离线(物理设备) |
| 平台兼容 | 浏览器打开即用(PC/手机/平板) | 仅 Android/iOS 应用 | 单一物理设备 |
| 输入方式 | 键盘 + 鼠标点击 | 触屏点击 | 物理按键按压 |
| 历史记录 | 无(纯计算器,不保存) | 部分版本有计算历史 | 无 |
| 输入 | 输出 | 说明 |
|---|---|---|
| sin(π/2) | 1 | 常规:验证三角函数弧度制精度,π/2 的正弦值应为精确 1 |
| cos(0) | 1 | 常规:余弦零度角,检查角度模式(弧度/度)默认行为 |
| log(100) | 2 | 常规:常用对数(底数 10),验证对数函数默认底数 |
| 0! | 1 | 边界:阶乘定义边界,0 的阶乘按数学定义为 1,非零 |
| 10^308 | Infinity | 边界:双精度浮点数上溢,验证工具对大数的处理方式 |
| sin(π) | 0 | 易错:π 的精确值受浮点精度影响,实际输出可能为 1.224e-16 而非严格 0,需注意工具是否做四舍五入 |
| log(-1) | Error 或 NaN | 易错:负数对数在实数域无定义,检查工具是否给出明确错误提示 |
1.三角函数默认角度制,输入弧度未切换
计算 sin(3.14159),期望得到 0,但得到约 0.0548确认工具当前为弧度制(RAD 模式)后输入 sin(π),或手动计算 sin(3.14159) 后接受约 0.0548 的结果科学计算器默认角度制(DEG),sin(180°) = 0,但 sin(180 rad) ≈ -0.801。用户必须检查模式标识(DEG/RAD/GRAD)后再输入。
2.对数底数混淆,log 误作常用对数
计算 log(100),期望得到 2(常用对数),但工具返回 ln(100) ≈ 4.605输入 log10(100) 或 log(100, 10) 得到 2不同计算器对 log 的默认底数定义不同。本工具 log 无底数时默认自然对数 ln,需显式指定底数才能得到常用对数(lg)。
3.阶乘运算超出整数安全范围
计算 171!,结果溢出显示 1.#INF 或错误计算 170!,结果为 7.257415615307994e306(仍在双精度浮点数范围内)IEEE 754 双精度浮点数最大可表示约 1.79e308。171! ≈ 1.24e309 已超出此范围,导致正无穷溢出。
4.进制转换时输入了非法字符
在十六进制模式下输入 1G,期望得到 31(十进制),但工具无响应或报错在十六进制模式下输入 1F,得到 31(十进制)十六进制只接受 0-9 和 A-F(大小写均可)。G 不是有效数字,工具无法解析,会触发输入验证失败。
5.内存键(M+)累加时未先清零
按 M+ 存储 5,再按 M+ 存储 3,按 MR 显示 8(正确),但期望只显示 3先按 MC 清除内存,再按 M+ 存储 3,按 MR 显示 3M+ 是累加操作(memory add),将当前值加到内存已有值上。要覆盖存储需先用 MC 清零或使用 M(memory store)键。
6.科学计数法输入时漏写指数符号
输入 1e5,工具解析为 1 × e × 5(其中 e 为自然常数 2.718...),得到约 13.59输入 1E5 或 1e5(取决于工具是否区分大小写),得到 100000部分计算器将小写 e 视为自然常数 2.718...,而非科学计数法标记。需确认工具是否要求大写 E 或专用按钮(EXP/EE)。
7.连续运算时忽略运算符优先级
输入 2 + 3 × 4,期望得到 20(从左到右),但工具返回 14输入 (2 + 3) × 4 得到 20,或直接接受 2 + 3 × 4 = 14标准科学计算器遵循先乘除后加减的运算优先级,不是简单从左到右计算。用户需用括号明确运算顺序。
8.负数的偶数次方根输入错误
输入 √(-4) 或 (-4)^(1/2),工具返回 NaN 或错误输入 4i(复数模式)或使用复数运算功能;若仅需实数结果,输入 √4 = 2实数范围内负数没有偶数次方根。工具若未启用复数模式,会返回 Not a Number。用户需切换复数模式或理解实数域限制。
n! = n × (n-1) × (n-2) × … × 1
n非负整数,阶乘的底数计算 7!:7×6×5×4×3×2×1 = 5040。在科学计算器中输入 7 后按阶乘键,结果即 5040。
4 种主流语言实现,复制即用:
import math
# 科学计算器核心功能:三角函数、对数、阶乘、进制转换
# 示例:计算 sin(30°) + log10(100) + 5! + 十六进制 255
def scientific_calc():
# 三角函数(弧度转角度)
angle_deg = 30
sin_val = math.sin(math.radians(angle_deg)) # 0.5
# 对数
log_val = math.log10(100) # 2.0
# 阶乘
fact_val = math.factorial(5) # 120
# 进制转换(十进制 -> 十六进制)
hex_val = hex(255) # '0xff'
print(f"sin({angle_deg}°) = {sin_val}") # 0.5
print(f"log10(100) = {log_val}") # 2.0
print(f"5! = {fact_val}") # 120
print(f"255 in hex = {hex_val}") # 0xff
scientific_calc()// 科学计算器核心功能:三角函数、对数、阶乘、进制转换
// 示例:计算 cos(60°) + ln(e^2) + 4! + 二进制 42
function scientificCalc() {
// 三角函数(弧度转角度)
const angleDeg = 60;
const cosVal = Math.cos(angleDeg * Math.PI / 180); // 0.5
// 自然对数
const lnVal = Math.log(Math.E ** 2); // 2.0
// 阶乘(递归实现)
const factorial = n => n <= 1 ? 1 : n * factorial(n - 1);
const factVal = factorial(4); // 24
// 进制转换(十进制 -> 二进制)
const binVal = (42).toString(2); // '101010'
console.log(`cos(${angleDeg}°) = ${cosVal}`); // 0.5
console.log(`ln(e^2) = ${lnVal}`); // 2.0
console.log(`4! = ${factVal}`); // 24
console.log(`42 in binary = ${binVal}`); // 101010
}
scientificCalc();package main
import (
"fmt"
"math"
"strconv"
)
// 科学计算器核心功能:三角函数、对数、阶乘、进制转换
func main() {
// 三角函数(角度转弧度)
angleDeg := 45.0
tanVal := math.Tan(angleDeg * math.Pi / 180) // 1.0
// 以2为底的对数
log2Val := math.Log2(32) // 5.0
// 阶乘(循环实现)
factVal := 1
for i := 1; i <= 6; i++ {
factVal *= i
} // 720
// 进制转换(十进制 -> 八进制)
octVal := strconv.FormatInt(64, 8) // "100"
fmt.Printf("tan(45°) = %.1f\n", tanVal) // 1.0
fmt.Printf("log2(32) = %.1f\n", log2Val) // 5.0
fmt.Printf("6! = %d\n", factVal) // 720
fmt.Printf("64 in octal = %s\n", octVal) // 100
}// 科学计算器核心功能:三角函数、对数、阶乘、进制转换
fn main() {
// 三角函数(角度转弧度)
let angle_deg = 90.0_f64;
let sin_val = angle_deg.to_radians().sin(); // 1.0
// 自然对数
let ln_val = 20.0_f64.ln(); // ≈2.9957
// 阶乘(迭代实现)
let n = 7u128;
let fact_val = (1..=n).product::<u128>(); // 5040
// 进制转换(十进制 -> 二进制)
let bin_val = format!("{:b}", 10); // "1010"
println!("sin(90°) = {}", sin_val); // 1
println!("ln(20) = {:.4}", ln_val); // 2.9957
println!("7! = {}", fact_val); // 5040
println!("10 in binary = {}", bin_val); // 1010
}检查一下角度模式。科学计算器默认用弧度制,sin(30 弧度) ≈ -0.988,而你得到 0.5 说明当前是角度制(DEG 模式)。本工具在输入框上方有「DEG / RAD / GRAD」切换按钮,点击切换到 RAD 再试 sin(30) 就会得到 -0.988。如果算三角形边长,记得先确认题目给的是角度还是弧度。
本工具默认 log 是常用对数(以 10 为底),log(100) = 2 正确。要算以 2 为底的对数,用换底公式:log2(100) = log(100) / log(2)。输入 log(100) ÷ log(2) 即可得到约 6.6439。或者直接使用「log_2」按钮(如果有的话),它内置了换底计算。不同底数对数不能混淆,否则结果差很多。
1e+100 是科学计数法,表示 1 × 10^100,完全准确。本工具采用 JavaScript 双精度浮点数(64 位),能精确表示约 10^-308 到 10^308 之间的数字。对于 10^100 这样的整数,在 15 位有效数字内完全精确。但如果做 10^100 + 1 再减 10^100,结果可能是 0 而非 1,因为大数运算会丢失小数精度——这是浮点数通用限制,不是本工具的问题。
不精确。100! 是一个 158 位的整数,但双精度浮点数只能保留约 15-16 位有效数字,所以后面的「39441」是近似值,实际末尾还有 140 多位数字。本工具对超出精度的大数结果采用科学计数法显示,并标注「近似值」。如果需精确整数结果(如数学竞赛或编程题),建议用支持大整数的工具或语言(Python 的 math.factorial 或 BigInt)。
没坏,这是所有用 IEEE 754 浮点数的计算器(包括手机自带、Excel)都会遇到的问题。0.1 和 0.2 在二进制里是无限循环小数,存储时只能近似,累加后产生微小误差。本工具结果区默认显示 15 位小数,所以暴露了这个精度问题。如果做财务或物理计算,可以点击「修约」按钮手动保留 2-4 位小数;或者用分数模式(如有)得到精确的 3/10。
255 的二进制确实是 11111111(8 位全 1),结果正确。本工具的进制转换支持十进制、二进制、八进制、十六进制互转。输入十进制数后,点击「进制」选项卡选择二进制即可。注意:如果输入带小数,二进制会显示无限循环(如 0.1 转二进制是 0.0001100110011...),此时结果区会截断到 20 位并加「...」提示。纯整数转换无精度损失。
本工具自适应手机屏幕,按钮大小随屏幕宽度调整。如果还是觉得小,可以尝试横屏模式——大多数手机横屏后按钮会更大。另外,常用操作(如 sin、log、平方)支持键盘快捷键:电脑端按 s 键切换 sin,按 l 键输入 log;手机端连接外接键盘同样有效。如果经常误触,建议使用触控笔或放大浏览器页面(双指缩放)。
不能。本工具是实数科学计算器,输入 √(-1) 会返回错误提示「无效输入」。复数运算需要专门的复数模式(如 Casio fx-991 的复数模式或 Python 的 cmath 库)。如果你只是偶尔需要算虚数,可以手动记 i² = -1,然后用实数运算处理实部和虚部分别计算。未来版本可能加入复数支持,但目前请使用其他专业工具。
隐私保证所有计算与处理均在你的浏览器本地完成,输入数据不会上传服务器,也不会保存或共享。