科学记数法计算器
结果
科学计数法
- e 记法
- 1.28e3
- 普通写法
- 1280
科学记数法把一个数写成「系数 × 10 的幂」的形式,其中系数落在 1 到 10 之间:45000 写成 4.5 × 10⁴,0.00045 写成 4.5 × 10⁻⁴。它的用处在于把数的大小搬进指数——乘除不再是要数多少个零,而是两个小整数的加减。这个计算器收两个数和一个运算符,把结果同时按三种写法印出来:科学记数法、e 记法和普通数字。整套运算就是指数运算的那几条规则,底层是同一条幂运算:同底数幂相乘,指数相加。相乘时系数相乘、指数相加:(3.2 × 10⁵) × (4 × 10⁻³) = 12.8 × 10²,再规范化成 1.28 × 10³。相除时系数相除、指数相减。加减是麻烦的那两个,因为指数得先对齐:1.5 × 10³ 加 2.5 × 10² 就是 1500 加 250,答案是 1.75 × 10³。这件事本身与普通的十进制加减没有区别——它是同一个加法——只是这套记法很容易让人漏掉对齐那一步。输入两种写法都收。程序员写的 e 记法 3.2e5 和 4e-3 直接读得懂,普通数字 45000 也一样,两者是同一个数,页面一视同仁。但「4.5 × 10⁴」这种书写形态不收,理由值得知道而不是绕过去:认出它意味着要同时接受同一个意思的五种写法——乘号、字母 x、星号、上标指数、脱字符——而认错其中一种,算的就是另一个数。结果里那一行 e 记法就是给人粘回输入框用的。两个数各自最多十五位有效数字,指数在 −99 到 99 之间;答案本身不受这个范围约束,1e99 × 1e99 就是 1 × 10¹⁹⁸。有一条提醒只对这一页成立:小数的加法与乘法是用双精度做的,而双精度表示不了每一个十进制小数,所以 0.1 + 0.2 首先是 0.30000000000000004。结果按十五位有效数字舍入、末尾的零去掉,于是印出来的就是 3 × 10⁻¹ 和 0.3——那条尾巴落在第十六、十七位上。这个十五是显示宽度,不是精度声明:由两个数算出来的答案并不知道自己有几位是量出来的,而且这里印多少位都回答不了那个问题。一个答案该记几位有效数字是另一回事,归有效数字那一页管。有两种叫法在这一页上交汇,值得分清。美式英语把这种写法叫 scientific notation,英式英语与 GCSE 考纲通常叫 standard form,中文里都叫科学记数法;两个英文名字指的是同一个「系数加指数」的形式。本批的另一页负责换算那一半——一个数进去、同一个数换个写法出来——这一页负责运算那一半。
十的幂:科学记数法、e 记法与普通数字三种写法对照
| 幂 | 普通数字 | e 记法 |
|---|---|---|
| 1 × 10⁻⁹ | 0.000000001 | 1e-9 |
| 1 × 10⁻⁶ | 0.000001 | 1e-6 |
| 1 × 10⁻³ | 0.001 | 1e-3 |
| 1 × 10⁻² | 0.01 | 1e-2 |
| 1 × 10⁻¹ | 0.1 | 1e-1 |
| 1 × 10⁰ | 1 | 1e0 |
| 1 × 10¹ | 10 | 1e1 |
| 1 × 10² | 100 | 1e2 |
| 1 × 10³ | 1000 | 1e3 |
| 1 × 10⁴ | 10000 | 1e4 |
| 1 × 10⁵ | 100000 | 1e5 |
| 1 × 10⁶ | 1000000 | 1e6 |
| 1 × 10⁹ | 1000000000 | 1e9 |
十三行,从 10⁻⁹ 到 10⁹,同一个数三种写法并排。第一列读指数,第三列就是要敲进去的形式:10⁻³ 是 0.001,也就是 1e-3。中间那几行是实际最容易出事的:10⁰ 是 1、10⁻¹ 是 0.1,负号一丢就差一个十的倍数,而 10⁻² 与 10⁻³ 是测量里最常撞见的两个。也能看出普通数字从哪儿开始不好用:10⁻⁶ 往下,小数点右边的零要数着才能读,这正是小数写成这种记法的常见理由;10⁶ 往上,不加分隔符就根本读不了,而本页从不印分隔符,因为在站上好几个语言里逗号是小数点。表里每一格都由面板用的同一个内核算出来,所以某一行的数字不可能和它上面那个答案打架。
公式
(a × 10ᵐ) × (b × 10ⁿ) = (a × b) × 10ᵐ⁺ⁿ;(a × 10ᵐ) ÷ (b × 10ⁿ) = (a ÷ b) × 10ᵐ⁻ⁿ;加减先对齐:1.5 × 10³ + 2.5 × 10² = 1500 + 250 = 1.75 × 10³;3.2e5 × 4e-3 = 1.28 × 10³ = 1.28e3 = 1280
- 3.2e5 与 4e-3
- 参与运算的两个数,各自可以写成 e 记法(3.2e5)或普通数字(320000),每个最多十五位有效数字。页面读的就是它们,答案是由它们算出来的新数
- × ÷ + −
- 四则运算里的运算符,四选一。乘法排在最前,因为科学记数法本来就是为它而生的:指数一加,答案的量级在系数还没相乘之前就已经定了
- 10ᵐ × 10ⁿ = 10ᵐ⁺ⁿ
- 乘除底下那条指数规则。积的指数相加、商的指数相减,所以 10⁵ × 10⁻³ 得 10²,一个零都不用数
- 1.5 × 10³ + 2.5 × 10²
- 加减为什么是另一回事。这两个指数不相等,两个数得先写到同一个指数上才能相加——1500 + 250——结果是 1.75 × 10³。漏掉这一步是最常见的错
- 0.1 + 0.2 = 3 × 10⁻¹
- 答案印到十五位有效数字的原因。0.1 与 0.2 在双精度里都存不精确,它们的和是 0.30000000000000004;舍到十五位再去掉末尾的零,印出来是 3 × 10⁻¹ 与 0.3。十五是显示宽度,不是精度声明
- 1.28 × 10³、1.28e3、1280
- 同一个答案的三种写法。第一种是课本印的,第二种是程序或表格软件收的、可以直接粘回输入框,第三种是把数写开。它们永远不是三个不同的答案
只要数值离 1 很远,科学记数法就派得上用场。物理里凡是原子尺度、米和光年的量都默认用它——电子质量、恒星距离、某种颜色的波长——理由在每个量级上一样:指数承载大小,于是两个量之间的比较变成了两个指数之间的比较。化学里它与计数配成一对:6.022 × 10²³ 是粒子数,把它乘上一个量出来的物质的量就是这种形式的运算。工程图样两端的公差、以及计算机里的浮点数都靠它:浮点数本来就是以系数加指数的形式存的,这一页印出来的 e 记法就是把那个形式写下来的最短的诚实写法。课本与试卷则把它当作一种可检查的形式:答案写成 4.5 × 10⁴,大小一眼看得见,而一串零看不出来——指数写错一位在这种写法里用眼睛就能抓住,在另一种写法里抓不住。这一页在那套动作里的位置是运算那一步:它把指数账算好,再按下一步需要的写法印出来,最适合用在两个数要被合起来、而答案必须写下来的场合。前后各有一件事挨着它。把同一个数换个写法、不涉及任何运算,是标准形式那一页;判断答案里到底有几位是量出来的,也就是有效数字要回答的问题,是有效数字那一页——那一页也是这一页故意不回答的问题。
算例
相乘:3.2 × 10⁵ 乘 4 × 10⁻³
- 系数相乘:3.2 × 4 = 12.8
- 指数相加:10⁵ × 10⁻³ = 10²
- 积是 12.8 × 10²,这还不是科学记数法,因为系数必须小于 10
- 把一个十从系数挪进指数:12.8 × 10² = 1.28 × 10³
- 写开就是 1280;而 e 记法 1.28e3 可以粘回任何一个输入框
默认值,也是最能说明这套记法为什么值得用的算例。两个数都很短,运算只是两次相乘加一次相加;不用这套记法,同样的工作就是 320000 × 0.004,零在那里承担了全部的活,答案很容易差一个十的倍数。要留意的是规范化那一步,而面板是默默做完的:12.8 × 10² 与 1.28 × 10³ 是同一个数,只有后者才是科学记数法。
相除:9.6 × 10⁷ 除以 3.2 × 10³
- 系数相除:9.6 ÷ 3.2 = 3
- 指数相减:10⁷ ÷ 10³ = 10⁴
- 系数已经落在 1 到 10 之间,不需要规范化
- 答案是 3 × 10⁴,也就是 3e4 和 30000
一个系数除得很干净的除法,所以没有东西挡住那条指数规则。注意系数后面没有多余的零:结果是 3 而不是 3.00,因为页面印十五位有效数字、再去掉不携带信息的零。这个答案该写成 3 还是 3.00000,是有效数字的问题,这里的输入定不了它。
0.1 加 0.2
- 两个输入里都没有出现指数,两个数就按写出来的样子放进去:0.1 和 0.2
- 在双精度里,存下来的并不是精确的十分之一与十分之二,它们的和是 0.30000000000000004
- 结果舍到十五位有效数字,剩下 0.300000000000000
- 末尾的零被去掉,因为那十五位是显示宽度、不是测量结果
- 剩下的是 3 × 10⁻¹,也就是 3e-1、0.3
说明显示宽度为什么是十五位的算例。印七位有效数字也能盖住浮点尾巴,但会弄坏另一种情况:123456789012345 + 0 会被印成 123456800000000,那干脆就是错的。十五位是输入允许的每一个数都还能被精确印出来的最宽档位,所以它既盖住了尾巴,又保住了数。如果你见过把它当编程题看的那种说法,那道题是真的——只是在十五位这个宽度上看不出来。
局限
每个输入最多十五位有效数字,指数在 −99 到 99 之间。答案不受这个范围限制:1e99 × 1e99 是 1 × 10¹⁹⁸,它的普通数字形式是一行 199 个字符。书写形态不收。4.5 × 10⁴ 与 4.5×10^4 都读不了,千分位分隔符同样不收,1,500 会被拒绝而不是读成 1500——在站上好几个语言里逗号是小数点,猜错一次等于把错的数送进运算。请写 4.5e4,或者直接把数字打出来。除以零会抛错,而不是返回一个无穷大,因为无穷大不是一个能写下来的结果。零在三种写法里都印成 0:给零配一个 10 的幂,等于给一个没有量级的数安上一个量级。结果按十五位有效数字舍入并去掉末尾的零,所以答案不携带精度信息,本页也不作任何精度声明;那个问题归有效数字那一页。又因为乘除加减都是双精度做的,结果只有十五位有效数字是精确的——对这一页收的输入够用,不足以把更长的数值当成精确算术,那也是它们被拒的原因。最后,下面那张参考表是一张固定的十的幂表,不跟着你的输入走;它是用来对着答案读的,不是用来被答案算出来的。
常见问题
- 什么是科学记数法?
- 把一个数写成「系数 × 10 的幂」的形式,系数落在 1 到 10 之间:45000 是 4.5 × 10⁴,0.00045 是 4.5 × 10⁻⁴。它把数的大小搬进指数,于是乘除变成两个小整数的处理,而不必去数一长串零。英文里美式叫 scientific notation、英式叫 standard form,中文都用科学记数法。
- e 记法是什么,为什么结果里要印它?
- e 记法是用普通字符写同一个数:4.5e4 就是 4.5 × 10⁴,4.5e-4 就是 4.5 × 10⁻⁴。程序、表格软件和搜索框认这种写法,所以它是三种写法里唯一能直接粘回输入框的那一种,页面把它当作答案的一行印出来。
- 为什么这里 0.1 + 0.2 正好等于 0.3?
- 因为结果在印出来之前先舍到十五位有效数字,而双精度里的和是 0.30000000000000004——差在第十六、十七位上。十五不是随手挑的整数:它是输入允许的每一个数都能被精确印出来的最宽档位,所以 123456789012345 + 0 仍然原样回来,而不会被截成更短的一个数。
- 能直接输入 4.5 × 10⁴ 吗?
- 不能,页面也会拒绝。认出这种形态意味着要同时接受它的好几种写法——乘号、字母 x、星号、上标指数、脱字符——认错一种,算的就是另一个数。请写 4.5e4 或 45000,两者是同一个值;每个答案里那一行 e 记法就是为粘回输入框准备的。
- 科学记数法怎么乘、怎么除?
- 相乘时系数相乘、指数相加;相除时系数相除、指数相减。然后检查系数是否落在 1 到 10 之间,不在就把一个十挪进指数:3.2 × 10⁵ 乘 4 × 10⁻³ 得 12.8 × 10²,写成 1.28 × 10³。加减得先把指数对齐,而这一步正是这套记法最容易让人跳过的。
- 答案会告诉我它有几位有效数字吗?
- 不会。答案是一个算出来的数,任何显示宽度都说不清它有几位是量出来的——那取决于进去的那几个数有多精确,甚至取决于它们是不是测量值。末尾的零被去掉也是同一个理由:留着它们等于在暗示一种算术并不具备的精度。一个答案该记几位有效数字,是有效数字那一页的事。
参考资料
- Scientific notation — the coefficient-and-exponent form, the rules for multiplying and dividing in it, and the notation's history — Wolfram MathWorld (United States)
- Scientific notation — a worked introduction to the form and to the exponent rules for multiplication and division — Math is Fun (United Kingdom)
- 教育部关于印发义务教育课程方案和课程标准(2022 年版)的通知——该通知的附件清单第 5 项是《义务教育数学课程标准(2022 年版)》;用科学记数法表示数、整数指数幂的运算,都是该课标数与代数领域的内容,原文与学段要求以该附件为准 — 中华人民共和国教育部