温度换算器:摄氏、华氏、开尔文
在摄氏、华氏、开尔文和兰氏温标之间换算温度。同时显示四种温标,并拒绝低于绝对零度的读数。
Temperature Converter
Type a temperature in one scale and read it in Celsius, Fahrenheit, Kelvin and Rankine at once.
Converted temperature
文档
温度换算器
温度换算器可将温度读数从一种温标转换为另一种温标,例如从摄氏度转换为华氏度。本页面可同时将一个读数转换为四种常用温标:摄氏、华氏、开尔文和兰氏。
计算器的功能
输入温度并选择测量所用的温标。本页面先将其转换为摄氏度,再转换为另外三种温标,并同时显示四个结果。复制按钮可将四个结果全部放入剪贴板。
没有比绝对零度更低的温度,因此低于绝对零度的读数会被拒绝,而不会进行转换。本页面会说明所选温标中的绝对零度,并且不显示任何数字。
如何在不同温标之间换算
摄氏温标和华氏温标有两点不同:一度的大小不同,以及零点的位置不同。华氏一度的大小是摄氏一度的 5/9,而 0 °C 是 32 °F,不是 0 °F。因此,换算需要先乘法再加法:
其中,C 是以摄氏度表示的温度,F 是以华氏度表示的温度,K 是以开尔文表示的温度,R 是以兰氏度表示的温度。
每个关系式都可以反向使用,以进行反向换算:
开尔文度和摄氏度大小相同,因此这对温标只需要平移。兰氏度和华氏度大小相同,而兰氏温标从绝对零度开始,所以 0 °R 等于 0 K,兰氏读数总是华氏读数加上 459.67。
把 9/5 当成全部换算规则,是最常见的错误。只做乘法而忘记平移的换算器会把 0 °C 报告为 0 °F;虽然算术过程看起来没有问题,但结果会相差 32 度。
页面实际运行的唯一规则
换算器不会为每一对温标分别保存一个公式。它为每个温标保存两个数值,即大小和偏移量,然后应用一个关系式:
其中,v 是输入值,s 是该温标一度所对应的摄氏度数,o 是将该温标的零点移到摄氏零点所需的偏移量,b 是摄氏温度读数。华氏温标的大小为 5/9,偏移量为 −160/9;开尔文温标的大小为 1,偏移量为 −273.15。反向换算时,按相反顺序执行同样的两个步骤。本页面中的每个温标都是该表的一行,因此四个结果不会彼此偏离。
哪些常数是精确的
上述使用的四个数值都是定义值,而不是测量值,因此不会因更精确的实验而修订。
| 常数 | 数值 | 是否精确? | 来源 |
|---|---|---|---|
| 摄氏度到华氏度的比值 | 9/5 | 根据定义精确 | NIST SP 811,附录 B |
| 华氏度偏移量 | 32 | 根据定义精确 | NIST SP 811,附录 B |
| 摄氏度到开尔文的平移量 | 273.15 | 根据定义精确 | SI Brochure;第 13 届 CGPM(1967/68) |
| 华氏度到兰氏度的平移量 | 459.67 | 精确值,由上面两项得出 | NIST SP 811,附录 B |
本页面有两处使用了四舍五入,而且都不是定义常数。分数 5/9 没有精确的小数形式,因此写成小数时只能截断;代码保留 5/9 和 160/9 这样的分数,而不是小数。四个结果则显示为八位有效数字。只有显示结果经过四舍五入,换算本身使用的是用户输入的完整数值。
算例
读数为 20 °C(温和的室温)时,换算如下。
华氏度:20 × 9/5 等于 36,而 36 + 32 等于 68 °F (20 °C)。
开尔文:20 + 273.15 等于 293.15 K。
兰氏度:20 + 273.15 等于 293.15,而 293.15 × 9/5 等于 527.67 °R。
第二个示例反向进行换算,结果不是整数。对于 350 °F (177 °C)(高温烤箱):350 − 32 等于 318,而 318 × 5/9 等于 176.6666… °C;按八位有效数字四舍五入后,页面显示为 176.66667 °C。
定点值
这些读数值得记住,并且每一行都会依次在四种温标中输入测试值进行检查。
| 摄氏 | 华氏 | 开尔文 | 兰氏 | 含义 |
|---|---|---|---|---|
| −273.15 | −459.67 | 0 | 0 | 绝对零度 |
| −40 | −40 | 233.15 | 419.67 | 两种日常温标共有的读数 |
| 0 | 32 | 273.15 | 491.67 | 水的冰点 |
| 37 | 98.6 | 310.15 | 558.27 | 正常人体体温 |
| 100 | 212 | 373.15 | 671.67 | 水的沸点 |
−40 这一行并非巧合。华氏数值增长得比摄氏数值快,而且起点更高,因此两条直线只会相交一次,交点就是 −40。
绝对零度
绝对零度是物质不再有热能可释放的温度点。它位于 −273.15 °C,这个数值是精确的:根据定义,开尔文和摄氏度大小相同,零点相距 273.15(13 届 CGPM,1967/68)。在其他温标中,它是 −459.67 °F (-273 °C)、0 K 和 0 °R。
页面会拒绝低于绝对零度的任何读数。低于绝对零度的数值不是非常寒冷的温度,而不是温度。
比较之前,检查程序会先对两边进行四舍五入。绝对零度通过一种路径得到的内部摄氏值为 −273.15,通过另一种路径则为 −273.15000000000003,因为计算机以二进制存储这些数,而 273.15 没有精确的二进制表示。比较未经处理的数值会让用户误以为绝对零度低于绝对零度。
同样的舍入误差也会出现在结果中。将 −459.67 °F (-273 °C) 转换后得到的约为 −0.000000000000028 K,而不是 0 K。换算器会将这么小的残差识别为两个大小相近的数相减后留下的噪声,并报告干净的 0 K。
常见问题
摄氏度如何换算为华氏度? 将摄氏温度读数乘以 9/5,再加上 32。对于 20 °C:20 × 9/5 等于 36,而 36 + 32 等于 68 °F。
华氏度如何换算为摄氏度? 先减去 32,再乘以 5/9。对于 68 °F:68 − 32 等于 36,而 36 × 5/9 等于 20 °C。
为什么不能只减去 32? 因为两种温标的一度大小也不同。华氏一度是摄氏一度的 5/9,因此两种读数之间的差距会随温度升高而扩大。在 0 °C 时,差距为 32;在 100 °C 时,差距为 112。
有没有可以心算的快速估算方法? 将摄氏读数加倍后再加上 30,对于日常温度来说比较接近实际值。对于 20 °C,这种方法得到 70,而准确值是 68 °F。误差会随温度升高而增大,因此这只是粗略估算,不是换算方法。
兰氏温标是什么,谁会使用它? 兰氏温标是一种绝对温标,采用与华氏度大小相同的度数,并从绝对零度开始。在美国的一些工程工作中会用到它:当需要绝对温度,而周围数据采用华氏度时,兰氏温标较为适用。
为什么页面有时显示的小数位比预期少? 结果会四舍五入到八位有效数字。像 176.6666… °C 这样的数值会无限循环,因此显示为 176.66667 °C。四舍五入只应用于显示结果。