← Все вопросы

степени двойки наизусть и как перевести дробное число в двоичную

Задан 12 месяцев назад730 просмотров2 ответа
6

Два вопроса по системам счисления. Первое — реально ли быстро переводить через степени двойки 1,2,4,8,16,32... и стоит ли их зубрить? А то я каждый раз заново вычисляю и теряю время.

И второе, чего вообще нигде нормально не объяснили: как перевести ДРОБНОЕ число в двоичную, например 0.625 или 5.25? С целой частью я разобрался, а что делать с тем, что после запятой — без понятия.

2 ответа

11
✓ Принятый ответ — помог автору

По первому — да, степени двойки реально стоит знать наизусть, это экономит кучу времени и снимает ошибки. Запомни хотя бы до 1024:

2^0=1, 2^1=2, 2^2=4, 2^3=8, 2^4=16, 2^5=32,
2^6=64, 2^7=128, 2^8=256, 2^9=512, 2^10=1024

Тогда любой перевод в/из двоичной — просто складывание этих чисел.

Теперь главное — дробная часть. Целую и дробную части переводят ОТДЕЛЬНО.

Целую часть — делением на 2 с остатками (как обычно). Дробную часть — наоборот, УМНОЖЕНИЕМ на 2, и выписываем целые части результата сверху вниз.

Переведём 0.625:

0.625 × 2 = 1.25  -> целая часть 1, дальше берём 0.25
0.25  × 2 = 0.5   -> целая часть 0, дальше 0.5
0.5   × 2 = 1.0   -> целая часть 1, дальше 0 -> стоп

Целые части читаем СВЕРХУ ВНИЗ: 101. Значит 0.625 = 0.101 в двоичной. Проверка: 0.101 = 1/2 + 0/4 + 1/8 = 0.5 + 0.125 = 0.625. Верно.

Теперь 5.25 целиком:

  • целая часть 5 → делим на 2: 5=101.
  • дробная 0.25: 0.25×2=0.5 (0), 0.5×2=1.0 (1, стоп) → 0.01.
  • склеиваем: 101.01. Проверка: 101.01 = 4+1 + 1/4 = 5.25. Сходится.

Запомни направления, тут все путаются:

  • целая часть — ДЕЛИМ на 2, остатки читаем СНИЗУ вверх;
  • дробная часть — УМНОЖАЕМ на 2, целые части читаем СВЕРХУ вниз.

Важный нюанс: не каждая десятичная дробь переводится точно. Например 0.1 в двоичной — бесконечная периодическая дробь. В таком задании обычно просят округлить до N знаков после запятой — умножай ровно нужное число раз и останавливайся.

Дома проверить дробь можно так:

print(0.5 + 0.125)   # 0.625  -> это и есть 0.101 двоичное
4

Лайфхак для дробной части: если знаменатель десятичной дроби — степень двойки (2, 4, 8, 16...), перевод всегда конечный и быстрый. 0.625 = 5/8, а 8 = 2³ → ровно три знака после запятой. 0.25 = 1/4 → два знака. Прикинул знаменатель — сразу понял, на сколько знаков рассчитывать.

Главная ошибка — переводить дробную часть делением, как целую. Нет: дробную УМНОЖАЕМ на 2.

Ваш ответ

Войдите, чтобы ответить на вопрос.
Поддержать проект