What is $5^\circ \mathrm{F}$ minus $5^\circ \mathrm{F}$?

Is it $0^\circ \mathrm{F}$ or is it $0\,\mathrm{K}$ (Kelvin)?

From an arithmetic standpoint, it seems like it should be $0^\circ \mathrm{F}$, but that seems inconsistent because the result represents a delta ($0 \,\Delta^\circ \mathrm{F}$ perhaps) which is conceptually completely different. Doing math with units like $^\circ\mathrm{F}/s$ completely breaks down.

From a natural sciences standpoint, it's 0 K, because an amount of heat minus the same amount of heat is no heat, but that seems inconsistent because everyone knows that $5 - 5 = 0$, and this would instead yield $5^\circ \mathrm{F} - 5^\circ\mathrm{F} = -459.67^\circ\mathrm{F}$, which may be surprising.

Is there a convention for doing arithmetic on Interval Scale measurements? That same page suggests there is a difference operation for them in its comparison table.

For context, I'm working on a Python library for doing dimensioned arithmetic (with an eye towards the natural sciences) and interval scales are making things complicated. For instance, $^\circ\mathrm{F}\cdot s$ doesn't seem to represent a meaningful physical dimension; it can't be converted to $\mathrm{K}\cdot s$. For example, trying to convert $6^\circ\mathrm{C}\cdot s$ by visualizing temperature and time as axes:

Temperature and time as axes


You seem to have the correct idea that it's important to distinguish between temperatures and temperature changes. So to answer your question, you'll need to first decide what the question is, i.e., do those two occurrences of $5^\circ F$ in the question refer to temperatures or to temperature changes?

For example, if they're both temperatures, then subtracting produces a temperature change of $0^\circ F$, which is the same as a temperature change of $0\ K$.

For another example, if the first $5^\circ F$ is a temperature and the second is a temperature change, then subtracting produces a temperature of $0^\circ F$, which is very different from a temperature of $0\ K$.


If the temperature is $5^\circ \text{F}$, and then the temperature drops 5 degrees (F), the temperature is now $0^\circ \text{F}$.


There have been great answers so far, but I'd like to focus on the practical implementation side of this. Which operations do you implement and how?

Temperature forms an affine line, no matter which unit you're using. It is much like with dates and time: you cannot add last Tuesday to 17 October of 2015, what would that even mean? And so Python does not let you add two instances of datetime. You can subtract them, though, giving you a timedelta object.

Similarly, you would need to implement a delta-temperature unit to represent differences in temperature. This delta-temperature can then implement the same operations as timedelta: you can add them together or subtract them, you can scale them by a scalar, you can divide two delta-temperatures to get a scalar value, and you can add or subtract from a temperature value.


Your question is analogous to how we deal with time, and it is like asking "If you subtract 3 PM from 5 PM, do you get 2 PM or 2 AM?"

The answer is neither. The correct answer is 2 Hours.

In Python, there is a distinction between datetimes and timedeltas. Subtract a datetime from a datetime and you get a timedelta. Subtract a timedelta from a datetime and you get a datetime.

It sounds like your library needs something like that. Subtract a temperaturedelta from a temperature to get another temperature. Subtract a temperature from another temperature to get a temperaturedelta. No more ambiguity.


  • Heat is energy that is transferred from one body to another as the result of a difference in temperature.
  • Temperature is a measure of hotness or coldness expressed in terms of scales like Celsius and Fahrenheit.
  • Kelvin is a thermodynamic scale. Zero Kelvin ($0 K$) is ABSOLUTE ZERO. It is absolute because to go any lower would require that a gas exert negative pressure. At $0 K$, all particles stop moving and all disorder disappears, i.e. there no motion and no heat.

So, to answer the question: $5 ℉ - 5 ℉ = 0 ℉$ NOT zero K (Kelvin)

This part of the question is incorrect, that the answer is 0 K from a natural sciences context:

From a natural sciences standpoint, it's 0 K, because an amount of heat minus the same amount of heat is no heat, but that seems inconsistent because everyone knows that 5 - 5 = 0, and this would instead yield 5 ℉ - 5 ℉ = -459.67 5 ℉, which may be surprising.

The relationship between heat transfer and temperature change is $Q = mcΔT$ where Q = heat transfer, m is mass of whatever you're making colder or hotter, c = specific heat capacity, and ΔT is the change in temperature. It is a thermodynamic process, not an arithmetic one. That is where I think the confusion is. You mentioned delta, but you need to decide whether you want to calculate a delta (change) in temperature, or heat transfer.