Гид по технологиям

Перевод температур: Цельсий ↔ Фаренгейт

4 min read Программирование Обновлено 04 Dec 2025
Цельсий ↔ Фаренгейт — формулы и примеры кода
Цельсий ↔ Фаренгейт — формулы и примеры кода

Фотография термометра

Зачем понимать преобразования температур

Понимание перевода между шкалами полезно, если вы работаете с международными данными, настраиваете климат-контроль, пишете приложения с погодой или просто путешествуете. Формулы небольшие, но при программировании важно учитывать типы чисел и точность при округлении.

Основные формулы

  • Перевод из Цельсия в Фаренгейт:
T(°F) = T(°C) × 9/5 + 32
  • Перевод из Фаренгейта в Цельсий:
T(°C) = (T(°F) - 32) × 5/9

Короткая памятка: умножить на 1.8 и прибавить 32 — туда; вычесть 32 и умножить на 0.555… — обратно.

Пояснение на пальцах (эвристика)

  • Ноль градусов Цельсия — это 32°F (точка замерзания воды).
  • 100°C = 212°F (точка кипения воды при нормальном давлении).
  • Приблизительная быстрая оценка: 20°C ≈ 68°F (удобная опорная точка).

Важно: для прикладных задач используйте вещественные типы (float/double) и контролируйте округление.

Примеры и программы

C++: Цельсий → Фаренгейт

// C++: перевод температуры из Цельсия в Фаренгейт
#include 
using namespace std;

// Функция перевода из Цельсия в Фаренгейт
float celsiusToFahrenheit(float num)
{
    return ((num * 9.0f / 5.0f) + 32.0f);
}

int main()
{
    float num1 = 100.0f;
    cout << "Температура в Цельсиях: " << num1 << endl;
    cout << "Температура в Фаренгейтах: " << celsiusToFahrenheit(num1) << endl;

    float num2 = 0.0f;
    cout << "Температура в Цельсиях: " << num2 << endl;
    cout << "Температура в Фаренгейтах: " << celsiusToFahrenheit(num2) << endl;

    float num3 = 65.0f;
    cout << "Температура в Цельсиях: " << num3 << endl;
    cout << "Температура в Фаренгейтах: " << celsiusToFahrenheit(num3) << endl;

    float num4 = 150.0f;
    cout << "Температура в Цельсиях: " << num4 << endl;
    cout << "Температура в Фаренгейтах: " << celsiusToFahrenheit(num4) << endl;

    float num5 = 20.0f;
    cout << "Температура в Цельсиях: " << num5 << endl;
    cout << "Температура в Фаренгейтах: " << celsiusToFahrenheit(num5) << endl;

    return 0;
}

Вывод программы (пример):

Температура в Цельсиях: 100
Температура в Фаренгейтах: 212
Температура в Цельсиях: 0
Температура в Фаренгейтах: 32
Температура в Цельсиях: 65
Температура в Фаренгейтах: 149
Температура в Цельсиях: 150
Температура в Фаренгейтах: 302
Температура в Цельсиях: 20
Температура в Фаренгейтах: 68

Python: Цельсий → Фаренгейт

# Python: перевод из Цельсия в Фаренгейт

def celsius_to_fahrenheit(num):
    return (num * 9.0 / 5.0) + 32.0

num1 = 100.0
print("Температура в Цельсиях:", num1)
print("Температура в Фаренгейтах:", celsius_to_fahrenheit(num1))

num2 = 0
print("Температура в Цельсиях:", num2)
print("Температура в Фаренгейтах:", celsius_to_fahrenheit(num2))

num3 = 65.0
print("Температура в Цельсиях:", num3)
print("Температура в Фаренгейтах:", celsius_to_fahrenheit(num3))

num4 = 150.0
print("Температура в Цельсиях:", num4)
print("Температура в Фаренгейтах:", celsius_to_fahrenheit(num4))

num5 = 20.0
print("Температура в Цельсиях:", num5)
print("Температура в Фаренгейтах:", celsius_to_fahrenheit(num5))

Пример вывода:

Температура в Цельсиях: 100.0
Температура в Фаренгейтах: 212.0
Температура в Цельсиях: 0
Температура в Фаренгейтах: 32.0
Температура в Цельсиях: 65.0
Температура в Фаренгейтах: 149.0
Температура в Цельсиях: 150.0
Температура в Фаренгейтах: 302.0
Температура в Цельсиях: 20.0
Температура в Фаренгейтах: 68.0

JavaScript: Цельсий → Фаренгейт

// JavaScript: перевод из Цельсия в Фаренгейт
function celsiusToFahrenheit(num) {
  return (num * 9.0 / 5.0) + 32.0;
}

var num1 = 100.0;
document.write("Температура в Цельсиях: " + num1 + "
"); document.write("Температура в Фаренгейтах: " + celsiusToFahrenheit(num1) + "
"); var num2 = 0; document.write("Температура в Цельсиях: " + num2 + "
"); document.write("Температура в Фаренгейтах: " + celsiusToFahrenheit(num2) + "
"); var num3 = 65.0; document.write("Температура в Цельсиях: " + num3 + "
"); document.write("Температура в Фаренгейтах: " + celsiusToFahrenheit(num3) + "
"); var num4 = 150.0; document.write("Температура в Цельсиях: " + num4 + "
"); document.write("Температура в Фаренгейтах: " + celsiusToFahrenheit(num4) + "
"); var num5 = 20.0; document.write("Температура в Цельсиях: " + num5 + "
"); document.write("Температура в Фаренгейтах: " + celsiusToFahrenheit(num5) + "
");

Вывод (на странице):

Температура в Цельсиях: 100
Температура в Фаренгейтах: 212
Температура в Цельсиях: 0
Температура в Фаренгейтах: 32
Температура в Цельсиях: 65
Температура в Фаренгейтах: 149
Температура в Цельсиях: 150
Температура в Фаренгейтах: 302
Температура в Цельсиях: 20
Температура в Фаренгейтах: 68

Перевод Фаренгейт → Цельсий: примеры кода

Формула

T(°C) = (T(°F) - 32) × 5/9

C++: Фаренгейт → Цельсий

// C++: перевод температуры из Фаренгейта в Цельсий
#include 
using namespace std;

float fahrenheitToCelsius(float num)
{
    return ((num - 32.0f) * 5.0f / 9.0f);
}

int main()
{
    float num1 = 212.0f;
    cout << "Температура в Фаренгейтах: " << num1 << endl;
    cout << "Температура в Цельсиях: " << fahrenheitToCelsius(num1) << endl;

    float num2 = 32.0f;
    cout << "Температура в Фаренгейтах: " << num2 << endl;
    cout << "Температура в Цельсиях: " << fahrenheitToCelsius(num2) << endl;

    float num3 = 149.0f;
    cout << "Температура в Фаренгейтах: " << num3 << endl;
    cout << "Температура в Цельсиях: " << fahrenheitToCelsius(num3) << endl;

    float num4 = 302.0f;
    cout << "Температура в Фаренгейтах: " << num4 << endl;
    cout << "Температура в Цельсиях: " << fahrenheitToCelsius(num4) << endl;

    float num5 = 68.0f;
    cout << "Температура в Фаренгейтах: " << num5 << endl;
    cout << "Температура в Цельсиях: " << fahrenheitToCelsius(num5) << endl;

    return 0;
}

Пример вывода:

Температура в Фаренгейтах: 212
Температура в Цельсиях: 100
Температура в Фаренгейтах: 32
Температура в Цельсиях: 0
Температура в Фаренгейтах: 149
Температура в Цельсиях: 65
Температура в Фаренгейтах: 302
Температура в Цельсиях: 150
Температура в Фаренгейтах: 68
Температура в Цельсиях: 20

Python и JavaScript: обратный перевод

Аналогично, в Python и JavaScript функция будет вычислять (num - 32) * 5/9. Обратите внимание на типы: в JavaScript числа по умолчанию float-like, а в Python при делении в явном виде используйте 5.0/9.0 для точности в старых версиях.

Контрольные точки и факты

  • Точка замерзания воды: 0 °C = 32 °F
  • Точка кипения воды (при 1 атм): 100 °C = 212 °F
  • Комфортная комнатная температура: ≈20–22 °C ≈ 68–72 °F

Когда простая формула не подходит

Важно: при работе в научных и инженерных расчётах учитывайте:

  • Необходимость высокой точности — используйте double и стандартизированные библиотеки округления.
  • Датчики и API могут давать данные с локальной калибровкой или шумом — применяйте фильтрацию и калибровку.
  • При пакетной обработке больших объёмов данных следите за производительностью и векторизацией.

Тестовые случаи и критерии приёмки

Критерии приёмки (минимум):

  • Функция корректно переводит 0 °C ↔ 32 °F и 100 °C ↔ 212 °F.
  • Для входов с десятичными дробями возвращается ожидаемая точность (заданное количество знаков).
  • Граничные и экстремальные значения (очень низкие и очень высокие температуры) корректно обрабатываются без переполнения.

Примеры тестов:

  • Вход: 0 °C → ожидаемый выход: 32 °F
  • Вход: 100 °C → ожидаемый выход: 212 °F
  • Вход: 68 °F → ожидаемый выход: 20 °C
  • Произвольный: 37 °C → ожидаемый выход: 98.6 °F (примерный)

Шаблонный чек-лист для разработчика

  • Выбраны корректные типы данных (float/double)
  • Написаны модульные тесты для контрольных точек
  • Обработаны локали и формат вывода (запятая/точка)
  • Документированы допущения по точности и округлению

Ментальные модели и решение задач

  • Если нужно быстро прикинуть температуру для общения, используйте эвристику: ×2 − 30 (приблизительно): (°C × 2) + 30 ≈ °F. Она даёт грубую оценку, но не точную.
  • Для точных вычислений всегда используйте формулу с 9/5 или 5/9.

Заключение

Теперь вы знаете обе формулы и видели рабочие примеры на трёх языках. При разработке помните про точность, тесты и локализацию строк для пользователя.

Важно: при использовании в продуктах с международной аудиторией предоставьте пользователю явный выбор шкалы температур.

Краткое резюме в одну строку: умножьте на 1.8 и прибавьте 32 — в Фаренгейт; вычтите 32 и умножьте на 5/9 — в Цельсий.

1-строчный глоссарий:

  • Цельсий — шкала температуры с нулём при замерзании воды.
  • Фаренгейт — шкала, распространённая в США, с 32° при замерзании воды.
Поделиться: X/Twitter Facebook LinkedIn Telegram
Автор
Редакция

Похожие материалы

Navi‑X для XBMC — улучшение стриминга
Медиа

Navi‑X для XBMC — улучшение стриминга

Состояния питания Windows 11 — S0 до G3
Windows

Состояния питания Windows 11 — S0 до G3

Как исправить ERROR_INVALID_EVENT_COUNT BSoD
Windows

Как исправить ERROR_INVALID_EVENT_COUNT BSoD

Исправление ошибки #VALUE в Excel
Excel

Исправление ошибки #VALUE в Excel

Как выбрать Linux‑дистрибутив
Linux

Как выбрать Linux‑дистрибутив

Как открыть Диспетчер устройств в Windows
Windows

Как открыть Диспетчер устройств в Windows