Системы счисления

1. Типы систем счисления

  1. Позиционные — значение цифры зависит от позиции.
    Примеры: двоичная, десятичная, восьмеричная, шестнадцатеричная.
  2. Непозиционные — каждая цифра имеет фиксированное значение.
    Примеры: римские числа.
  3. Смешанные — специальные правила для разных оснований.
    Пример: время (часы, минуты, секунды — разные основания).

Общая формула позиционной системы:
$N = d_0 \cdot b^0 + d_1 \cdot b^1 + d_2 \cdot b^2 + \dots + d_n \cdot b^n$

  • $d_0$ — младший разряд
  • $d_n$ — старший разряд
  • $b$ — основание системы

Пример: $10112$ → десятичное
$1\cdot2^3 + 0\cdot2^2 + 1\cdot2^1 + 1\cdot2^0 = 11
{10}$

2. Перевод из десятичной системы

2.1 Делением с остатком (для целых чисел)

  1. Делим число на основание новой системы.
  2. Записываем остаток.
  3. Берём частное и повторяем, пока не получится 0.
  4. Число в новой системе = остатки снизу вверх.

Пример: $345_{10}$ → двоичная

Деление Частное Остаток
$345 \div 2$ 172 1
$172 \div 2$ 86 0
$86 \div 2$ 43 0
$43 \div 2$ 21 1
$21 \div 2$ 10 1
$10 \div 2$ 5 0
$5 \div 2$ 2 1
$2 \div 2$ 1 0
$1 \div 2$ 0 1

Результат: $101011001_2$

2.2 Через позиционную запись (для дробных чисел)

Для числа с целой и дробной частью:
$N = \sum_{k=0}^{n} d_k \cdot b^k + \sum_{k=1}^{m} f_k \cdot b^{-k}$

Пример: $101.112$ → десятичное
$1\cdot2^2 + 0\cdot2^1 + 1\cdot2^0 + 1\cdot2^{-1} + 1\cdot2^{-2} = 5.75
{10}$

3. Прямой перевод между системами

Используется для систем с основаниями, кратными друг другу (2↔8, 2↔16).

  • Двоичная → Восьмеричная: группы по 3 бита справа налево.
  • Двоичная → Шестнадцатеричная: группы по 4 бита справа налево.
  • Восьмеричная → Двоичная: каждая цифра = 3 бита.
  • Шестнадцатеричная → Двоичная: каждая цифра = 4 бита.

Примеры:

  1. $110101111001_2$ → шестнадцатеричная
    • Группируем по 4: $1101\ 0111\ 1001$
    • Переводим: $1101=D$, $0111=7$, $1001=9$
    • Результат: $D79_{16}$
  2. $D79_{16}$ → двоичная
    • $D=1101$, $7=0111$, $9=1001$
    • Результат: $110101111001_2$
  3. $110101_2$ → восьмеричная
    • Группируем по 3: $110\ 101$
    • Переводим: $110=6$, $101=5$
    • Результат: $65_8$

4. Отрицательные числа в двоичной системе

Для представления отрицательных чисел в двоичной используются:

  1. Прямой код — старший бит = знак (0 = +, 1 = -), остальные биты = модуль числа.
    Недостаток: два нуля (+0 и -0).
  2. Обратный код — отрицательное число = инверсия всех битов положительного числа.
    Пример: $5_{10} = 0101_2 \Rightarrow -5 = 1010_2$.
  3. Дополнительный код (Two’s complement) — инверсия всех битов + 1.
    Пример: $5_{10} = 0101_2 \Rightarrow -5 = 1011_2$
    Преимущество: одно представление нуля, удобен для арифметики.

    5. Таблица методов перевода

Метод Когда использовать Пример
Позиционная запись Любая система → десятичная $10112 \to 11{10}$
Делением с остатком Десятичная → любая $345_{10} \to 101011001_2$
Прямой перевод Системы с основаниями 2, 8, 16 $1101012 \to 65_8$ или $D79{16}$