跳到主要内容
CalcMax

科学记数法计算器

结果

1.28 × 10³

科学计数法

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.0000000011e-9
1 × 10⁻⁶0.0000011e-6
1 × 10⁻³0.0011e-3
1 × 10⁻²0.011e-2
1 × 10⁻¹0.11e-1
1 × 10⁰11e0
1 × 10¹101e1
1 × 10²1001e2
1 × 10³10001e3
1 × 10⁴100001e4
1 × 10⁵1000001e5
1 × 10⁶10000001e6
1 × 10⁹10000000001e9

十三行,从 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⁴,大小一眼看得见,而一串零看不出来——指数写错一位在这种写法里用眼睛就能抓住,在另一种写法里抓不住。这一页在那套动作里的位置是运算那一步:它把指数账算好,再按下一步需要的写法印出来,最适合用在两个数要被合起来、而答案必须写下来的场合。前后各有一件事挨着它。把同一个数换个写法、不涉及任何运算,是标准形式那一页;判断答案里到底有几位是量出来的,也就是有效数字要回答的问题,是有效数字那一页——那一页也是这一页故意不回答的问题。

算例

  1. 相乘:3.2 × 10⁵ 乘 4 × 10⁻³

    1. 系数相乘:3.2 × 4 = 12.8
    2. 指数相加:10⁵ × 10⁻³ = 10²
    3. 积是 12.8 × 10²,这还不是科学记数法,因为系数必须小于 10
    4. 把一个十从系数挪进指数:12.8 × 10² = 1.28 × 10³
    5. 写开就是 1280;而 e 记法 1.28e3 可以粘回任何一个输入框

    默认值,也是最能说明这套记法为什么值得用的算例。两个数都很短,运算只是两次相乘加一次相加;不用这套记法,同样的工作就是 320000 × 0.004,零在那里承担了全部的活,答案很容易差一个十的倍数。要留意的是规范化那一步,而面板是默默做完的:12.8 × 10² 与 1.28 × 10³ 是同一个数,只有后者才是科学记数法。

  2. 相除:9.6 × 10⁷ 除以 3.2 × 10³

    1. 系数相除:9.6 ÷ 3.2 = 3
    2. 指数相减:10⁷ ÷ 10³ = 10⁴
    3. 系数已经落在 1 到 10 之间,不需要规范化
    4. 答案是 3 × 10⁴,也就是 3e4 和 30000

    一个系数除得很干净的除法,所以没有东西挡住那条指数规则。注意系数后面没有多余的零:结果是 3 而不是 3.00,因为页面印十五位有效数字、再去掉不携带信息的零。这个答案该写成 3 还是 3.00000,是有效数字的问题,这里的输入定不了它。

  3. 0.1 加 0.2

    1. 两个输入里都没有出现指数,两个数就按写出来的样子放进去:0.1 和 0.2
    2. 在双精度里,存下来的并不是精确的十分之一与十分之二,它们的和是 0.30000000000000004
    3. 结果舍到十五位有效数字,剩下 0.300000000000000
    4. 末尾的零被去掉,因为那十五位是显示宽度、不是测量结果
    5. 剩下的是 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³。加减得先把指数对齐,而这一步正是这套记法最容易让人跳过的。
答案会告诉我它有几位有效数字吗?
不会。答案是一个算出来的数,任何显示宽度都说不清它有几位是量出来的——那取决于进去的那几个数有多精确,甚至取决于它们是不是测量值。末尾的零被去掉也是同一个理由:留着它们等于在暗示一种算术并不具备的精度。一个答案该记几位有效数字,是有效数字那一页的事。

参考资料

相关计算器