Урок 2 - Системы счисления

Конспект по занятию: Системы счисления

Часть 1: Информатика — Системы счисления


Теоретическая часть

1. Что такое система счисления?

Система счисления — это способ записи чисел с использованием определённого набора символов (цифр) и правил.

  • Две основные группы систем счисления:

    1. Позиционные — значение цифры зависит от её позиции (разряда) в числе (например, десятичная, двоичная).

    2. Непозиционные — значение цифры не зависит от её позиции (например, римская система).


2. Десятичная система счисления

  • Самая привычная для нас система.

  • Основание — 10 (используются цифры от 0 до 9).

  • Каждая цифра имеет "вес", зависящий от её позиции (разряда).

Пример: число 321 в десятичной системе

  • ( 3 * 10^2 + 2 * 10^1 + 1 * 10^0 = 300 + 20 + 1 = 321 )


3. Двоичная система счисления

  • Используется в компьютерах, так как они работают с двумя состояниями (0 и 1).

  • Основание — 2 (используются только цифры 0 и 1).

Пример: число 1011 в двоичной системе

  • ( 1 * 2^3 + 0 * 2^2 + 1 * 2^1 + 1 * 2^0 = 8 + 0 + 2 + 1 = 11 ) в десятичной системе.


4. Перевод чисел между системами счисления

  1. Перевод из десятичной системы в другую (например, в двоичную)

    Алгоритм вручную

    1. Делите число на основание системы счисления (например, для двоичной это 2).

    2. Записывайте остаток от деления.

    3. Делите целую часть результата на основание.

    4. Повторяйте шаги 2–3, пока целая часть не станет равной 0.

    5. Запишите остатки в обратном порядке — это и будет число в новой системе счисления.

    Пример: Переведём число 45​ в двоичную систему (основание 2).

    • 45:2 = 22 (остаток 1)

    • 22:2 = 11 (остаток 0)

    • 11:2 = 5 (остаток 1)

    • 5:2 = 2 (остаток 1)

    • 2:2 = 1 (остаток 0)

    • 1:2 = 0 (остаток 1)

    Результат: записываем остатки в обратном порядке: 101101​.

  2. Из двоичной в десятичную

    • Алгоритм вручную

      1. Выпишите число в новой системе счисления (например, 10101​).

      2. Умножьте каждую цифру на основание системы, возведённое в степень, соответствующую позиции цифры (считая справа налево, начиная с нуля).

      3. Сложите результаты.

      Пример: Переведём число 10101​ в десятичную систему.

      • 1×2^4 = 16

      • 0×2^3 = 0

      • 1×2^2 = 4

      • 0×2^1 = 0

      • 1×2^0 = 1

      Складываем: 16+0+4+0+1=21. Результат: 21


5. Применение двоичной системы

  • Компьютеры: все данные в памяти хранятся в виде 0 и 1.

  • Кодировка символов: каждый символ (буква, цифра) преобразуется в двоичный код (например, код ASCII).


Практическая часть

Устный перевод чисел:

  • Переведите число ( 19 {10} ) в двоичную систему.

  • Переведите число ( 10101 {2} ) в десятичную систему.


Часть 2: Python — работа с числами


Теоретическая часть

1. Работа с числами в Python

Python позволяет легко работать с числами в разных системах счисления.

Основные операции:

  • Арифметические операции:

    • Сложение: +

    • Вычитание: -

    • Умножение: *

    • Деление: / (результат — дробное число)

    • Целочисленное деление: // (результат — целое число)

    • Остаток от деления: %

    • Возведение в степень: **

Примеры:

a = 5
b = 3
print(a + b)  # 8
print(a ** b) # 125

2. Перевод чисел между системами счисления в Python

  • Перевод десятичного числа в двоичное: Функция bin() возвращает двоичное представление числа.

    print(bin(10))  # '0b1010'
  • Перевод двоичного числа в десятичное: Используем функцию int():

    print(int('1010', 2))  # 10

Практическая часть

1. Работа с арифметическими операциями

Задача 1: Напишите программу, которая выполняет следующие действия:

  1. Принимает два числа от пользователя.

  2. Выводит их сумму, разность, произведение, частное, остаток от деления и результат возведения в степень.

Пример кода:

a = int(input("Введите первое число: "))
b = int(input("Введите второе число: "))

print("Сумма:", a + b)
print("Разность:", a - b)
print("Произведение:", a * b)
print("Частное:", a / b)
print("Остаток от деления:", a % b)
print("Степень:", a ** b)

2. Перевод чисел между системами счисления

Задача 2: Напишите программу, которая:

  1. Принимает от пользователя десятичное число.

  2. Выводит его двоичное представление.

  3. Принимает от пользователя двоичное число.

  4. Переводит его в десятичную систему.

Пример кода:

decimal = int(input("Введите десятичное число: "))
binary = bin(decimal)
print("Двоичное представление:", binary)

binary_input = input("Введите двоичное число: ")
decimal_from_binary = int(binary_input, 2)
print("Десятичное представление:", decimal_from_binary)

3. Задача на комбинирование знаний

Задача 3 (по желанию): Напишите программу, которая:

  1. Переводит числа из одной системы счисления в другую (выбор системы делает пользователь).

  2. Пример диалога:

    Выберите операцию:
    1 - Из десятичной в двоичную
    2 - Из двоичной в десятичную
    Введите номер операции: 1
    Введите число: 25
    Результат: 11001

Пример кода:

choice = int(input("Выберите операцию:\n1 - Десятичная -> Двоичная\n2 - Двоичная -> Десятичная\n"))
if choice == 1:
    decimal = int(input("Введите десятичное число: "))
    print("Результат:", bin(decimal)[2:])
elif choice == 2:
    binary = input("Введите двоичное число: ")
    print("Результат:", int(binary, 2))
else:
    print("Неверный выбор.")

Домашнее задание

  1. Теория:

    • Переведите следующие числа в двоичную систему: ( 45 {10}, 8 {10}, 123 {10} ).

    • Переведите следующие числа в десятичную систему: ( 10101 {2}, 1101 {2}, 100000 {2} ).

  2. Практика:

    • Напишите программу, которая принимает число от пользователя и:

      • Выводит его в двоичной системе.

      • Переводит это число обратно в десятичную систему и проверяет, совпадает ли результат с исходным числом.

Last updated