Двоичная система счисления: понимание и работа с двоичными числами

Двоичная система счисления – это система счисления, в которой для представления чисел используются только два символа, обычно “0” и “1”. Она также известна как система счисления с основанием 2, в отличие от широко используемой нами десятичной системы (с основанием 10), в которой используются десять символов (0–9).

В двоичной системе каждая цифра представляет степень двойки, начиная с самой правой цифры. Самая правая цифра представляет 2^0 (что равно 1), следующая цифра представляет 2^1 (что равно 2), следующая цифра представляет 2^2 (что равно 4) и так далее. Комбинируя эти цифры, двоичные числа могут представлять собой любое положительное целое число.

Теперь давайте рассмотрим несколько методов работы с двоичными числами в языках программирования, а также примеры кода:

  1. Двоичное преобразование в Python:

    # Convert decimal to binary
    decimal_number = 10
    binary_number = bin(decimal_number)[2:]  # Remove the '0b' prefix
    print(binary_number)  # Output: 1010
    # Convert binary to decimal
    binary_number = '1010'
    decimal_number = int(binary_number, 2)
    print(decimal_number)  # Output: 10
  2. Двоичное преобразование в JavaScript:

    // Convert decimal to binary
    let decimalNumber = 10;
    let binaryNumber = decimalNumber.toString(2);
    console.log(binaryNumber);  // Output: 1010
    // Convert binary to decimal
    let binaryNumber = '1010';
    let decimalNumber = parseInt(binaryNumber, 2);
    console.log(decimalNumber);  // Output: 10
  3. Двоичная арифметика в C++:

    // Binary addition
    unsigned int binaryAddition(unsigned int a, unsigned int b) {
       while (b != 0) {
           unsigned int carry = a & b;
           a = a ^ b;
           b = carry << 1;
       }
       return a;
    }
    // Binary subtraction
    unsigned int binarySubtraction(unsigned int a, unsigned int b) {
       while (b != 0) {
           unsigned int borrow = (~a) & b;
           a = a ^ b;
           b = borrow << 1;
       }
       return a;
    }
  4. Двоичные манипуляции в Java:

    // Count the number of set bits (1s) in a binary number
    int countSetBits(int n) {
       int count = 0;
       while (n != 0) {
           n = n & (n - 1);
           count++;
       }
       return count;
    }
    // Check if a number is a power of 2
    boolean isPowerOfTwo(int n) {
       return (n & (n - 1)) == 0;
    }

Используя эти методы, вы можете выполнять различные операции и преобразования двоичных чисел на разных языках программирования.