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

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

4 min read Программирование Обновлено 03 Jan 2026
Цельсий ↔ Фаренгейт: формулы и примеры
Цельсий ↔ Фаренгейт: формулы и примеры

Термометр с измерительной шкалой температуры

Кратко

Кратко: формулы для перевода °C ↔ °F просты — это линейное преобразование: умножение и сдвиг. В статье показаны формулы, примеры вручную и готовые программы на C++, Python и JavaScript. Также — быстрые приёмы оценки, тесты и список критериев приёмки.

Важно: °C — градусы Цельсия (°C), °F — градусы Фаренгейта (°F).

Как перевести температуру из градусов Цельсия в Фаренгейты

Формула:

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

Объяснение в двух предложениях: сначала масштаб (умножение на 9/5) изменяет величину градуса, затем добавление 32 — это сдвиг нулевой точки между шкалами.

Примеры вручную:

  • 100 °C → (100 × 9/5) + 32 = 212 °F
  • 0 °C → (0 × 9/5) + 32 = 32 °F

Задача

Дано число num в °C. Нужно вернуть значение в °F. Примеры выше демонстрируют ожидаемые результаты.

Программа на 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 + "\n");
document.write("Температура в Фаренгейтах: " + celsiusToFahrenheit(num1) + "\n");

var num2 = 0;
document.write("Температура в Цельсиях: " + num2 + "\n");
document.write("Температура в Фаренгейтах: " + celsiusToFahrenheit(num2) + "\n");

var num3 = 65.0;
document.write("Температура в Цельсиях: " + num3 + "\n");
document.write("Температура в Фаренгейтах: " + celsiusToFahrenheit(num3) + "\n");

var num4 = 150.0;
document.write("Температура в Цельсиях: " + num4 + "\n");
document.write("Температура в Фаренгейтах: " + celsiusToFahrenheit(num4) + "\n");

var num5 = 20.0;
document.write("Температура в Цельсиях: " + num5 + "\n");
document.write("Температура в Фаренгейтах: " + celsiusToFahrenheit(num5) + "\n");

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

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

Как перевести температуру из Фаренгейтов в Цельсии

Формула:

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

Порядок действий: сначала убрать смещение (вычесть 32), затем масштабировать (умножить на 5/9).

Примеры вручную:

  • 212 °F → (212 − 32) × 5/9 = 100 °C
  • 32 °F → (32 − 32) × 5/9 = 0 °C

Задача

Дано число num в °F. Нужно вернуть значение в °C. Примеры выше показывают ожидаемый результат.

Программа на 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

Быстрые приёмы и оценки (при практическом использовании)

  • Приближённая быстрая формула для оценки: °F ≈ °C × 2 + 30. Она даёт приемлемую оценку для повседневных нужд (точность около ±2–4 °F в обычном диапазоне).
  • Ментальная шпаргалка: 0 °C = 32 °F, 100 °C = 212 °F — запомните эти две точки, остальное интерполируется линейно.
  • Для обратного приближения: °C ≈ (°F − 30) / 2.

Когда такие приближения не подходят:

  • В научных расчётах и калибровке датчиков требуется точное значение по формуле, без приближений.
  • Для экстремальных температур (очень низких или очень высоких) ошибка приближений может стать значительной.

Проверка, тесты и критерии приёмки

Критерии приёмки для функции конверсии (минимальные):

  • Для входов 0, 100 °C возвращает 32 и 212 °F соответственно.
  • Для входов 32, 212 °F возвращает 0 и 100 °C соответственно.
  • Для дробных значений возвращаемое значение должно соответствовать формуле с допустимой плавающей погрешностью (например, ±1e-6 для float/double).
  • Функция должна работать для отрицательных температур.

Тестовые наборы (пример):

  • Вход: 20 °C → Ожидание: 68 °F
  • Вход: −40 °C → Ожидание: −40 °F (особая точка, где значения равны)
  • Вход: 37 °C → Ожидание: 98.6 °F (обычная температурная справка)

Ментальная модель: почему это линейно

Перевод между шкалами — аффинное (линейное сдвинутое) преобразование: F = a × C + b. Коэффициент a = 9/5 — отношение размеров градуса, b = 32 — смещение нулевой точки между шкалами. Это значит: преобразование сохраняет прямые и относительные различия (масштабирует и сдвигает).

Роль‑ориентированные чек‑листы

  • Разработчик: добавить модульные тесты, обработку входов типа float/double, документировать допустимую погрешность.
  • Инженер по оборудованию: калибровать датчики, учитывать смещение и масштаб в прошивке, тестировать на нижних и верхних пределах.
  • Путешественник/пользователь: запомнить две контрольные точки (0→32 и 100→212) и простой приём оценки (×2 + 30).

Шпаргалка (cheat sheet)

  • Формулы:
    • C → F: F = C × 9/5 + 32
    • F → C: C = (F − 32) × 5/9
  • Быстро: F ≈ C × 2 + 30
  • Точная контрольная точка: −40 — одинаково в обеих шкалах.

Короткий словарь (1 строка)

  • °C: градусы Цельсия, шкала с нулём при замерзании воды; °F: градусы Фаренгейта, распространена в США.

Когда этот метод не подойдёт (примеры)

  • Перевод логарифмических или относительных шкал (например, dB) — формулы неприменимы.
  • Если нужно учитывать влияния влажности или давления на чувствительность датчика — простая формула не компенсирует физические отклонения.

Краткое завершение

Теперь вы знаете точные формулы и простые приёмы оценивания для перевода между градусами Цельсия и Фаренгейта. Для программирования используйте приведённые функции и обязательно снабжайте тестами крайних и дробных значений.

Примечание: лучший способ закрепить навык — реализовать функцию и написать небольшую программу с проверками (например, автотесты для наборов значений выше).

Поделиться: X/Twitter Facebook LinkedIn Telegram
Автор
Редакция

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

RDP: полный гид по настройке и безопасности
Инфраструктура

RDP: полный гид по настройке и безопасности

Android как клавиатура и трекпад для Windows
Гайды

Android как клавиатура и трекпад для Windows

Советы и приёмы для работы с PDF
Документы

Советы и приёмы для работы с PDF

Calibration в Lightroom Classic: как и когда использовать
Фото

Calibration в Lightroom Classic: как и когда использовать

Отключить Siri Suggestions на iPhone
iOS

Отключить Siri Suggestions на iPhone

Рисование таблиц в Microsoft Word — руководство
Office

Рисование таблиц в Microsoft Word — руководство